@sendbird/uikit-react-native 2.4.2 → 2.5.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/lib/commonjs/components/ChannelMessageList/index.js +319 -0
  2. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -0
  3. package/lib/commonjs/components/ChatFlatList.js +30 -50
  4. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  5. package/lib/commonjs/components/MessageSearchResultItem.js +132 -0
  6. package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -0
  7. package/lib/commonjs/components/ScrollToBottomButton.js +1 -1
  8. package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -1
  9. package/lib/commonjs/constants.js +6 -2
  10. package/lib/commonjs/constants.js.map +1 -1
  11. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +2 -2
  12. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  13. package/lib/commonjs/containers/SendbirdUIKitContainer.js +4 -2
  14. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  15. package/lib/commonjs/contexts/SendbirdChatCtx.js +4 -2
  16. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  17. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +4 -2
  18. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  19. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +84 -301
  20. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  21. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -0
  22. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  23. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +9 -2
  24. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  25. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  26. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -4
  27. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  28. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  29. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +105 -0
  30. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
  31. package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js +40 -0
  32. package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js.map +1 -0
  33. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js +22 -0
  34. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
  35. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js +26 -0
  36. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
  37. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js +22 -0
  38. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
  39. package/lib/commonjs/domain/messageSearch/index.js +62 -0
  40. package/lib/commonjs/domain/messageSearch/index.js.map +1 -0
  41. package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js +36 -0
  42. package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
  43. package/lib/commonjs/domain/messageSearch/module/moduleContext.js +25 -0
  44. package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -0
  45. package/lib/commonjs/domain/messageSearch/types.js +6 -0
  46. package/lib/commonjs/domain/messageSearch/types.js.map +1 -0
  47. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +38 -279
  48. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  49. package/lib/commonjs/domain/openChannel/module/moduleContext.js +9 -2
  50. package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
  51. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  52. package/lib/commonjs/fragments/createGroupChannelFragment.js +107 -15
  53. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  54. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +2 -0
  55. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  56. package/lib/commonjs/fragments/createMessageSearchFragment.js +145 -0
  57. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -0
  58. package/lib/commonjs/fragments/createOpenChannelFragment.js +40 -8
  59. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  60. package/lib/commonjs/hooks/useMentionSuggestion.js +17 -0
  61. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
  62. package/lib/commonjs/index.js +60 -40
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  65. package/lib/commonjs/localization/createBaseStringSet.js +33 -20
  66. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  67. package/lib/commonjs/utils/pubsub.js +21 -0
  68. package/lib/commonjs/utils/pubsub.js.map +1 -0
  69. package/lib/commonjs/version.js +1 -1
  70. package/lib/commonjs/version.js.map +1 -1
  71. package/lib/module/components/ChannelMessageList/index.js +311 -0
  72. package/lib/module/components/ChannelMessageList/index.js.map +1 -0
  73. package/lib/module/components/ChatFlatList.js +32 -52
  74. package/lib/module/components/ChatFlatList.js.map +1 -1
  75. package/lib/module/components/MessageSearchResultItem.js +124 -0
  76. package/lib/module/components/MessageSearchResultItem.js.map +1 -0
  77. package/lib/module/components/ScrollToBottomButton.js +1 -1
  78. package/lib/module/components/ScrollToBottomButton.js.map +1 -1
  79. package/lib/module/constants.js +3 -1
  80. package/lib/module/constants.js.map +1 -1
  81. package/lib/module/containers/GroupChannelPreviewContainer.js +2 -2
  82. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  83. package/lib/module/containers/SendbirdUIKitContainer.js +4 -2
  84. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  85. package/lib/module/contexts/SendbirdChatCtx.js +4 -2
  86. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  87. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +4 -2
  88. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  89. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +88 -305
  90. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  91. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -0
  92. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  93. package/lib/module/domain/groupChannel/module/moduleContext.js +9 -2
  94. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  95. package/lib/module/domain/groupChannel/types.js.map +1 -1
  96. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -4
  97. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  98. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  99. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js +96 -0
  100. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
  101. package/lib/module/domain/messageSearch/component/MessageSearchList.js +32 -0
  102. package/lib/module/domain/messageSearch/component/MessageSearchList.js.map +1 -0
  103. package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js +14 -0
  104. package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
  105. package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js +18 -0
  106. package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
  107. package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js +14 -0
  108. package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
  109. package/lib/module/domain/messageSearch/index.js +8 -0
  110. package/lib/module/domain/messageSearch/index.js.map +1 -0
  111. package/lib/module/domain/messageSearch/module/createMessageSearchModule.js +28 -0
  112. package/lib/module/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
  113. package/lib/module/domain/messageSearch/module/moduleContext.js +14 -0
  114. package/lib/module/domain/messageSearch/module/moduleContext.js.map +1 -0
  115. package/lib/module/domain/messageSearch/types.js +2 -0
  116. package/lib/module/domain/messageSearch/types.js.map +1 -0
  117. package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +40 -281
  118. package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  119. package/lib/module/domain/openChannel/module/moduleContext.js +9 -2
  120. package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -1
  121. package/lib/module/domain/openChannel/types.js.map +1 -1
  122. package/lib/module/fragments/createGroupChannelFragment.js +109 -17
  123. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  124. package/lib/module/fragments/createGroupChannelSettingsFragment.js +2 -0
  125. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  126. package/lib/module/fragments/createMessageSearchFragment.js +135 -0
  127. package/lib/module/fragments/createMessageSearchFragment.js.map +1 -0
  128. package/lib/module/fragments/createOpenChannelFragment.js +41 -9
  129. package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
  130. package/lib/module/hooks/useMentionSuggestion.js +18 -1
  131. package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
  132. package/lib/module/index.js +2 -0
  133. package/lib/module/index.js.map +1 -1
  134. package/lib/module/localization/StringSet.type.js.map +1 -1
  135. package/lib/module/localization/createBaseStringSet.js +34 -21
  136. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  137. package/lib/module/utils/pubsub.js +14 -0
  138. package/lib/module/utils/pubsub.js.map +1 -0
  139. package/lib/module/version.js +1 -1
  140. package/lib/module/version.js.map +1 -1
  141. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +55 -0
  142. package/lib/typescript/src/components/ChatFlatList.d.ts +7 -8
  143. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -0
  144. package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -0
  145. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -0
  146. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  147. package/lib/typescript/src/constants.d.ts +3 -1
  148. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +2 -1
  149. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +3 -1
  150. package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +1 -1
  151. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +3 -32
  152. package/lib/typescript/src/domain/groupChannel/types.d.ts +23 -35
  153. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  154. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +2 -0
  155. package/lib/typescript/src/domain/messageSearch/component/MessageSearchHeader.d.ts +3 -0
  156. package/lib/typescript/src/domain/messageSearch/component/MessageSearchList.d.ts +3 -0
  157. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusEmpty.d.ts +2 -0
  158. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusError.d.ts +3 -0
  159. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusLoading.d.ts +2 -0
  160. package/lib/typescript/src/domain/messageSearch/index.d.ts +7 -0
  161. package/lib/typescript/src/domain/messageSearch/module/createMessageSearchModule.d.ts +3 -0
  162. package/lib/typescript/src/domain/messageSearch/module/moduleContext.d.ts +3 -0
  163. package/lib/typescript/src/domain/messageSearch/types.d.ts +53 -0
  164. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -37
  165. package/lib/typescript/src/domain/openChannel/types.d.ts +17 -36
  166. package/lib/typescript/src/fragments/createMessageSearchFragment.d.ts +3 -0
  167. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +3 -2
  168. package/lib/typescript/src/index.d.ts +2 -0
  169. package/lib/typescript/src/localization/StringSet.type.d.ts +17 -3
  170. package/lib/typescript/src/utils/pubsub.d.ts +6 -0
  171. package/lib/typescript/src/version.d.ts +1 -1
  172. package/package.json +8 -7
  173. package/src/components/ChannelMessageList/index.tsx +392 -0
  174. package/src/components/ChatFlatList.tsx +33 -51
  175. package/src/components/MessageSearchResultItem.tsx +125 -0
  176. package/src/components/ScrollToBottomButton.tsx +3 -4
  177. package/src/constants.ts +3 -1
  178. package/src/containers/GroupChannelPreviewContainer.tsx +2 -2
  179. package/src/containers/SendbirdUIKitContainer.tsx +2 -0
  180. package/src/contexts/SendbirdChatCtx.tsx +7 -1
  181. package/src/domain/groupChannel/component/GroupChannelHeader.tsx +9 -3
  182. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +73 -316
  183. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +2 -1
  184. package/src/domain/groupChannel/module/moduleContext.tsx +10 -2
  185. package/src/domain/groupChannel/types.ts +49 -38
  186. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +29 -13
  187. package/src/domain/groupChannelSettings/types.ts +2 -0
  188. package/src/domain/messageSearch/component/MessageSearchHeader.tsx +98 -0
  189. package/src/domain/messageSearch/component/MessageSearchList.tsx +26 -0
  190. package/src/domain/messageSearch/component/MessageSearchStatusEmpty.tsx +15 -0
  191. package/src/domain/messageSearch/component/MessageSearchStatusError.tsx +16 -0
  192. package/src/domain/messageSearch/component/MessageSearchStatusLoading.tsx +15 -0
  193. package/src/domain/messageSearch/index.ts +7 -0
  194. package/src/domain/messageSearch/module/createMessageSearchModule.tsx +21 -0
  195. package/src/domain/messageSearch/module/moduleContext.tsx +16 -0
  196. package/src/domain/messageSearch/types.ts +55 -0
  197. package/src/domain/openChannel/component/OpenChannelMessageList.tsx +35 -303
  198. package/src/domain/openChannel/module/moduleContext.tsx +8 -2
  199. package/src/domain/openChannel/types.ts +40 -38
  200. package/src/fragments/createGroupChannelFragment.tsx +114 -17
  201. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  202. package/src/fragments/createMessageSearchFragment.tsx +159 -0
  203. package/src/fragments/createOpenChannelFragment.tsx +48 -12
  204. package/src/hooks/useMentionSuggestion.ts +23 -3
  205. package/src/index.ts +3 -0
  206. package/src/localization/StringSet.type.ts +20 -2
  207. package/src/localization/createBaseStringSet.ts +22 -2
  208. package/src/utils/pubsub.ts +20 -0
  209. package/src/version.ts +0 -2
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MessageSearchResultItem = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
9
+ var _uikitUtils = require("@sendbird/uikit-utils");
10
+ var _useContext = require("../hooks/useContext");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const iconMapper = {
13
+ audio: 'file-audio',
14
+ image: 'photo',
15
+ video: 'play',
16
+ file: 'file-document'
17
+ };
18
+ const MessageSearchResultItem = _ref => {
19
+ let {
20
+ onPress,
21
+ message
22
+ } = _ref;
23
+ const {
24
+ colors,
25
+ select,
26
+ palette
27
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
28
+ const {
29
+ STRINGS
30
+ } = (0, _useContext.useLocalization)();
31
+ const fileIcon = (0, _uikitUtils.useIIFE)(() => {
32
+ if (!(message !== null && message !== void 0 && message.isFileMessage())) return undefined;
33
+ return iconMapper[(0, _uikitUtils.getFileType)(message.type || (0, _uikitUtils.getFileExtension)(message.name))];
34
+ });
35
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.PressBox, {
36
+ onPress: onPress
37
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
38
+ style: styles.container
39
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Avatar, {
40
+ size: styles.avatarSize.width,
41
+ uri: getSenderProfile(message),
42
+ containerStyle: styles.avatar
43
+ }), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
44
+ flex: 1,
45
+ paddingRight: 16
46
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
47
+ style: styles.titleLine
48
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
49
+ flex: 1,
50
+ marginRight: 4,
51
+ justifyContent: 'center'
52
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
53
+ subtitle2: true,
54
+ color: colors.onBackground01,
55
+ numberOfLines: 1
56
+ }, STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE(message))), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
57
+ paddingTop: 2
58
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
59
+ caption2: true,
60
+ color: colors.onBackground02
61
+ }, STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE_CAPTION(message)))), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
62
+ flex: 1
63
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
64
+ alignItems: 'center',
65
+ flexDirection: 'row'
66
+ }, fileIcon && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
67
+ size: 18,
68
+ icon: fileIcon,
69
+ color: colors.onBackground02,
70
+ containerStyle: [styles.bodyIcon, {
71
+ backgroundColor: select({
72
+ light: palette.background100,
73
+ dark: palette.background500
74
+ })
75
+ }]
76
+ }), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
77
+ body3: true,
78
+ numberOfLines: fileIcon ? 1 : 2,
79
+ ellipsizeMode: fileIcon ? 'middle' : 'tail',
80
+ style: styles.bodyText,
81
+ color: colors.onBackground03
82
+ }, STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_BODY(message)))), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
83
+ style: styles.separator,
84
+ backgroundColor: colors.onBackground04
85
+ }))));
86
+ };
87
+ exports.MessageSearchResultItem = MessageSearchResultItem;
88
+ function getSenderProfile(message) {
89
+ if (message.isUserMessage() || message.isFileMessage()) {
90
+ return message.sender.profileUrl;
91
+ } else {
92
+ return undefined;
93
+ }
94
+ }
95
+ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
96
+ container: {
97
+ height: 76,
98
+ width: '100%',
99
+ flexDirection: 'row',
100
+ alignItems: 'center',
101
+ justifyContent: 'center'
102
+ },
103
+ avatar: {
104
+ marginHorizontal: 16
105
+ },
106
+ avatarSize: {
107
+ width: 56
108
+ },
109
+ titleLine: {
110
+ flexDirection: 'row',
111
+ marginTop: 10,
112
+ marginBottom: 4
113
+ },
114
+ bodyIcon: {
115
+ borderRadius: 8,
116
+ width: 26,
117
+ height: 26,
118
+ marginRight: 4
119
+ },
120
+ bodyText: {
121
+ flex: 1,
122
+ lineHeight: 16
123
+ },
124
+ separator: {
125
+ position: 'absolute',
126
+ left: 0,
127
+ right: -16,
128
+ bottom: 0,
129
+ height: 1
130
+ }
131
+ });
132
+ //# sourceMappingURL=MessageSearchResultItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","obj","__esModule","default","iconMapper","audio","image","video","file","MessageSearchResultItem","_ref","onPress","message","colors","select","palette","useUIKitTheme","STRINGS","useLocalization","fileIcon","useIIFE","isFileMessage","undefined","getFileType","type","getFileExtension","name","createElement","PressBox","Box","style","styles","container","Avatar","size","avatarSize","width","uri","getSenderProfile","containerStyle","avatar","flex","paddingRight","titleLine","marginRight","justifyContent","Text","subtitle2","color","onBackground01","numberOfLines","MESSAGE_SEARCH","SEARCH_RESULT_ITEM_TITLE","paddingTop","caption2","onBackground02","SEARCH_RESULT_ITEM_TITLE_CAPTION","alignItems","flexDirection","Icon","icon","bodyIcon","backgroundColor","light","background100","dark","background500","body3","ellipsizeMode","bodyText","onBackground03","SEARCH_RESULT_ITEM_BODY","separator","onBackground04","exports","isUserMessage","sender","profileUrl","createStyleSheet","height","marginHorizontal","marginTop","marginBottom","borderRadius","lineHeight","position","left","right","bottom"],"sources":["MessageSearchResultItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Avatar,\n Box,\n Icon,\n PressBox,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdBaseMessage } from '@sendbird/uikit-utils';\nimport { getFileExtension, getFileType, useIIFE } from '@sendbird/uikit-utils';\n\nimport type { MessageSearchProps } from '../domain/messageSearch/types';\nimport { useLocalization } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\nexport const MessageSearchResultItem: MessageSearchProps['List']['renderSearchResultItem'] = ({ onPress, message }) => {\n const { colors, select, palette } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n\n const fileIcon = useIIFE(() => {\n if (!message?.isFileMessage()) return undefined;\n return iconMapper[getFileType(message.type || getFileExtension(message.name))];\n });\n\n return (\n <PressBox onPress={onPress}>\n <Box style={styles.container}>\n <Avatar size={styles.avatarSize.width} uri={getSenderProfile(message)} containerStyle={styles.avatar} />\n\n <Box flex={1} paddingRight={16}>\n <Box style={styles.titleLine}>\n <Box flex={1} marginRight={4} justifyContent={'center'}>\n <Text subtitle2 color={colors.onBackground01} numberOfLines={1}>\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE(message)}\n </Text>\n </Box>\n <Box paddingTop={2}>\n <Text caption2 color={colors.onBackground02}>\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE_CAPTION(message)}\n </Text>\n </Box>\n </Box>\n\n <Box flex={1}>\n <Box alignItems={'center'} flexDirection={'row'}>\n {fileIcon && (\n <Icon\n size={18}\n icon={fileIcon}\n color={colors.onBackground02}\n containerStyle={[\n styles.bodyIcon,\n { backgroundColor: select({ light: palette.background100, dark: palette.background500 }) },\n ]}\n />\n )}\n\n <Text\n body3\n numberOfLines={fileIcon ? 1 : 2}\n ellipsizeMode={fileIcon ? 'middle' : 'tail'}\n style={styles.bodyText}\n color={colors.onBackground03}\n >\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_BODY(message)}\n </Text>\n </Box>\n </Box>\n\n <Box style={styles.separator} backgroundColor={colors.onBackground04} />\n </Box>\n </Box>\n </PressBox>\n );\n};\n\nfunction getSenderProfile(message: SendbirdBaseMessage) {\n if (message.isUserMessage() || message.isFileMessage()) {\n return message.sender.profileUrl;\n } else {\n return undefined;\n }\n}\n\nconst styles = createStyleSheet({\n container: {\n height: 76,\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n avatar: {\n marginHorizontal: 16,\n },\n avatarSize: {\n width: 56,\n },\n titleLine: {\n flexDirection: 'row',\n marginTop: 10,\n marginBottom: 4,\n },\n bodyIcon: {\n borderRadius: 8,\n width: 26,\n height: 26,\n marginRight: 4,\n },\n bodyText: {\n flex: 1,\n lineHeight: 16,\n },\n separator: {\n position: 'absolute',\n left: 0,\n right: -16,\n bottom: 0,\n height: 1,\n },\n});\n"],"mappings":"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"}
@@ -17,12 +17,12 @@ const ScrollToBottomButton = _ref => {
17
17
  palette,
18
18
  select
19
19
  } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
20
+ if (!visible) return null;
20
21
  return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
21
22
  onPress: onPress,
22
23
  activeOpacity: 0.8,
23
24
  disabled: !visible,
24
25
  style: [styles.container, {
25
- opacity: visible ? 1 : 0,
26
26
  backgroundColor: select({
27
27
  dark: palette.background400,
28
28
  light: palette.background50
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitReactNativeFoundation","obj","__esModule","default","ScrollToBottomButton","_ref","visible","onPress","palette","select","useUIKitTheme","createElement","TouchableOpacity","activeOpacity","disabled","style","styles","container","opacity","backgroundColor","dark","background400","light","background50","Icon","icon","size","createStyleSheet","padding","borderRadius","Platform","android","elevation","ios","shadowColor","shadowRadius","shadowOffset","width","height","shadowOpacity","_default","React","memo","exports"],"sources":["ScrollToBottomButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TouchableOpacity } from 'react-native';\n\nimport { Icon, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\ntype Props = {\n visible: boolean;\n onPress: () => void;\n};\nconst ScrollToBottomButton = ({ visible, onPress }: Props) => {\n const { palette, select } = useUIKitTheme();\n return (\n <TouchableOpacity\n onPress={onPress}\n activeOpacity={0.8}\n disabled={!visible}\n style={[\n styles.container,\n {\n opacity: visible ? 1 : 0,\n backgroundColor: select({ dark: palette.background400, light: palette.background50 }),\n },\n ]}\n >\n <Icon icon={'chevron-down'} size={22} />\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n padding: 8,\n borderRadius: 24,\n ...Platform.select({\n android: {\n elevation: 4,\n },\n ios: {\n shadowColor: 'black',\n shadowRadius: 4,\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.3,\n },\n }),\n },\n});\n\nexport default React.memo(ScrollToBottomButton);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAAgG,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMhG,MAAMG,oBAAoB,GAAGC,IAAA,IAAiC;EAAA,IAAhC;IAAEC,OAAO;IAAEC;EAAe,CAAC,GAAAF,IAAA;EACvD,MAAM;IAAEG,OAAO;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAC3C,oBACEd,MAAA,CAAAO,OAAA,CAAAQ,aAAA,CAACZ,YAAA,CAAAa,gBAAgB;IACfL,OAAO,EAAEA,OAAQ;IACjBM,aAAa,EAAE,GAAI;IACnBC,QAAQ,EAAE,CAACR,OAAQ;IACnBS,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,OAAO,EAAEZ,OAAO,GAAG,CAAC,GAAG,CAAC;MACxBa,eAAe,EAAEV,MAAM,CAAC;QAAEW,IAAI,EAAEZ,OAAO,CAACa,aAAa;QAAEC,KAAK,EAAEd,OAAO,CAACe;MAAa,CAAC;IACtF,CAAC;EACD,gBAEF3B,MAAA,CAAAO,OAAA,CAAAQ,aAAA,CAACX,2BAAA,CAAAwB,IAAI;IAACC,IAAI,EAAE,cAAe;IAACC,IAAI,EAAE;EAAG,EAAG,CACvB;AAEvB,CAAC;AAED,MAAMV,MAAM,GAAG,IAAAW,4CAAgB,EAAC;EAC9BV,SAAS,EAAE;IACTW,OAAO,EAAE,CAAC;IACVC,YAAY,EAAE,EAAE;IAChB,GAAGC,qBAAQ,CAACrB,MAAM,CAAC;MACjBsB,OAAO,EAAE;QACPC,SAAS,EAAE;MACb,CAAC;MACDC,GAAG,EAAE;QACHC,WAAW,EAAE,OAAO;QACpBC,YAAY,EAAE,CAAC;QACfC,YAAY,EAAE;UAAEC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAE,CAAC;QACrCC,aAAa,EAAE;MACjB;IACF,CAAC;EACH;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,gBAEYC,cAAK,CAACC,IAAI,CAACtC,oBAAoB,CAAC;AAAAuC,OAAA,CAAAxC,OAAA,GAAAqC,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitReactNativeFoundation","obj","__esModule","default","ScrollToBottomButton","_ref","visible","onPress","palette","select","useUIKitTheme","createElement","TouchableOpacity","activeOpacity","disabled","style","styles","container","backgroundColor","dark","background400","light","background50","Icon","icon","size","createStyleSheet","padding","borderRadius","Platform","android","elevation","ios","shadowColor","shadowRadius","shadowOffset","width","height","shadowOpacity","_default","React","memo","exports"],"sources":["ScrollToBottomButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TouchableOpacity } from 'react-native';\n\nimport { Icon, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\ntype Props = {\n visible: boolean;\n onPress: () => void;\n};\nconst ScrollToBottomButton = ({ visible, onPress }: Props) => {\n const { palette, select } = useUIKitTheme();\n if (!visible) return null;\n\n return (\n <TouchableOpacity\n onPress={onPress}\n activeOpacity={0.8}\n disabled={!visible}\n style={[\n styles.container,\n { backgroundColor: select({ dark: palette.background400, light: palette.background50 }) },\n ]}\n >\n <Icon icon={'chevron-down'} size={22} />\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n padding: 8,\n borderRadius: 24,\n ...Platform.select({\n android: {\n elevation: 4,\n },\n ios: {\n shadowColor: 'black',\n shadowRadius: 4,\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.3,\n },\n }),\n },\n});\n\nexport default React.memo(ScrollToBottomButton);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAAgG,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMhG,MAAMG,oBAAoB,GAAGC,IAAA,IAAiC;EAAA,IAAhC;IAAEC,OAAO;IAAEC;EAAe,CAAC,GAAAF,IAAA;EACvD,MAAM;IAAEG,OAAO;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAC3C,IAAI,CAACJ,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACEV,MAAA,CAAAO,OAAA,CAAAQ,aAAA,CAACZ,YAAA,CAAAa,gBAAgB;IACfL,OAAO,EAAEA,OAAQ;IACjBM,aAAa,EAAE,GAAI;IACnBC,QAAQ,EAAE,CAACR,OAAQ;IACnBS,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAET,MAAM,CAAC;QAAEU,IAAI,EAAEX,OAAO,CAACY,aAAa;QAAEC,KAAK,EAAEb,OAAO,CAACc;MAAa,CAAC;IAAE,CAAC;EACzF,gBAEF1B,MAAA,CAAAO,OAAA,CAAAQ,aAAA,CAACX,2BAAA,CAAAuB,IAAI;IAACC,IAAI,EAAE,cAAe;IAACC,IAAI,EAAE;EAAG,EAAG,CACvB;AAEvB,CAAC;AAED,MAAMT,MAAM,GAAG,IAAAU,4CAAgB,EAAC;EAC9BT,SAAS,EAAE;IACTU,OAAO,EAAE,CAAC;IACVC,YAAY,EAAE,EAAE;IAChB,GAAGC,qBAAQ,CAACpB,MAAM,CAAC;MACjBqB,OAAO,EAAE;QACPC,SAAS,EAAE;MACb,CAAC;MACDC,GAAG,EAAE;QACHC,WAAW,EAAE,OAAO;QACpBC,YAAY,EAAE,CAAC;QACfC,YAAY,EAAE;UAAEC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAE,CAAC;QACrCC,aAAa,EAAE;MACjB;IACF,CAAC;EACH;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,gBAEYC,cAAK,CAACC,IAAI,CAACrC,oBAAoB,CAAC;AAAAsC,OAAA,CAAAvC,OAAA,GAAAoC,QAAA"}
@@ -3,11 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UNKNOWN_USER_ID = exports.DEPRECATION_WARNING = exports.DEFAULT_LONG_PRESS_DELAY = void 0;
6
+ exports.UNKNOWN_USER_ID = exports.MESSAGE_SEARCH_SAFE_SCROLL_DELAY = exports.MESSAGE_FOCUS_ANIMATION_DELAY = exports.DEPRECATION_WARNING = exports.DEFAULT_LONG_PRESS_DELAY = void 0;
7
7
  const DEFAULT_LONG_PRESS_DELAY = 350;
8
8
  exports.DEFAULT_LONG_PRESS_DELAY = DEFAULT_LONG_PRESS_DELAY;
9
+ const MESSAGE_SEARCH_SAFE_SCROLL_DELAY = 500;
10
+ exports.MESSAGE_SEARCH_SAFE_SCROLL_DELAY = MESSAGE_SEARCH_SAFE_SCROLL_DELAY;
11
+ const MESSAGE_FOCUS_ANIMATION_DELAY = 250;
12
+ exports.MESSAGE_FOCUS_ANIMATION_DELAY = MESSAGE_FOCUS_ANIMATION_DELAY;
9
13
  const DEPRECATION_WARNING = {
10
- GROUP_CHANNEL: {
14
+ CHANNEL: {
11
15
  ON_PRESS_IMAGE_MESSAGE: '`onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead'
12
16
  }
13
17
  };
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_LONG_PRESS_DELAY","exports","DEPRECATION_WARNING","GROUP_CHANNEL","ON_PRESS_IMAGE_MESSAGE","UNKNOWN_USER_ID"],"sources":["constants.ts"],"sourcesContent":["export const DEFAULT_LONG_PRESS_DELAY = 350;\nexport const DEPRECATION_WARNING = {\n GROUP_CHANNEL: {\n ON_PRESS_IMAGE_MESSAGE: '`onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead',\n },\n} as const;\n\nexport const UNKNOWN_USER_ID = '##__USER_ID_IS_NOT_PROVIDED__##';\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAG,GAAG;AAACC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA;AACrC,MAAME,mBAAmB,GAAG;EACjCC,aAAa,EAAE;IACbC,sBAAsB,EAAE;EAC1B;AACF,CAAU;AAACH,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAEJ,MAAMG,eAAe,GAAG,iCAAiC;AAACJ,OAAA,CAAAI,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["DEFAULT_LONG_PRESS_DELAY","exports","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","MESSAGE_FOCUS_ANIMATION_DELAY","DEPRECATION_WARNING","CHANNEL","ON_PRESS_IMAGE_MESSAGE","UNKNOWN_USER_ID"],"sources":["constants.ts"],"sourcesContent":["export const DEFAULT_LONG_PRESS_DELAY = 350;\nexport const MESSAGE_SEARCH_SAFE_SCROLL_DELAY = 500;\nexport const MESSAGE_FOCUS_ANIMATION_DELAY = 250;\nexport const DEPRECATION_WARNING = {\n CHANNEL: {\n ON_PRESS_IMAGE_MESSAGE: '`onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead',\n },\n} as const;\n\nexport const UNKNOWN_USER_ID = '##__USER_ID_IS_NOT_PROVIDED__##';\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAG,GAAG;AAACC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA;AACrC,MAAME,gCAAgC,GAAG,GAAG;AAACD,OAAA,CAAAC,gCAAA,GAAAA,gCAAA;AAC7C,MAAMC,6BAA6B,GAAG,GAAG;AAACF,OAAA,CAAAE,6BAAA,GAAAA,6BAAA;AAC1C,MAAMC,mBAAmB,GAAG;EACjCC,OAAO,EAAE;IACPC,sBAAsB,EAAE;EAC1B;AACF,CAAU;AAACL,OAAA,CAAAG,mBAAA,GAAAA,mBAAA;AAEJ,MAAMG,eAAe,GAAG,iCAAiC;AAACN,OAAA,CAAAM,eAAA,GAAAA,eAAA"}
@@ -53,7 +53,7 @@ const GroupChannelPreviewContainer = _ref => {
53
53
  const bodyText = (0, _uikitUtils.useIIFE)(() => {
54
54
  if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);
55
55
  });
56
- const bodyIcon = (0, _uikitUtils.useIIFE)(() => {
56
+ const fileIcon = (0, _uikitUtils.useIIFE)(() => {
57
57
  var _channel$lastMessage;
58
58
  if (!((_channel$lastMessage = channel.lastMessage) !== null && _channel$lastMessage !== void 0 && _channel$lastMessage.isFileMessage())) return undefined;
59
59
  if (typingUsers.length > 0) return undefined;
@@ -117,7 +117,7 @@ const GroupChannelPreviewContainer = _ref => {
117
117
  titleCaptionLeft: titleCaptionIcon,
118
118
  titleCaption: STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel),
119
119
  body: bodyText,
120
- bodyIcon: bodyIcon,
120
+ bodyIcon: fileIcon,
121
121
  badgeCount: channel.unreadMessageCount,
122
122
  mentioned: channel.unreadMentionCount > 0,
123
123
  mentionTrigger: mentionManager.config.trigger,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelCover","_interopRequireDefault","_constants","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","iconMapper","audio","image","video","file","GroupChannelPreviewContainer","_ref","onPress","onLongPress","channel","currentUser","sdk","features","mentionManager","useSendbirdChat","STRINGS","useLocalization","colors","useUIKitTheme","typingUsers","setTypingUsers","useState","channelListTypingIndicatorEnabled","handlerId","useUniqHandlerId","useChannelHandler","onTypingStatusUpdated","eventChannel","isDifferentChannel","getTypingUsers","outgoingStatus","useMessageOutgoingStatus","lastMessage","bodyText","useIIFE","length","LABELS","TYPING_INDICATOR_TYPINGS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_BODY","bodyIcon","_channel$lastMessage","isFileMessage","undefined","getFileType","type","getFileExtension","name","titleCaptionIcon","channelListMessageReceiptStatusEnabled","isMyMessage","userId","createElement","LoadingSpinner","size","style","styles","Icon","icon","color","error","onBackground03","containerStyle","secondary","Pressable","delayLongPress","DEFAULT_LONG_PRESS_DELAY","GroupChannelPreview","customCover","coverUrl","title","CHANNEL_PREVIEW_TITLE","titleCaptionLeft","titleCaption","CHANNEL_PREVIEW_TITLE_CAPTION","body","badgeCount","unreadMessageCount","mentioned","unreadMentionCount","mentionTrigger","config","trigger","memberCount","frozen","isFrozen","broadcast","isBroadcast","notificationOff","myPushTriggerOption","createStyleSheet","marginRight","broadcastCover","padding","borderRadius","_default","exports"],"sources":["GroupChannelPreviewContainer.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Pressable } from 'react-native';\n\nimport { useChannelHandler, useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport {\n GroupChannelPreview,\n Icon,\n LoadingSpinner,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdGroupChannel,\n SendbirdUser,\n getFileExtension,\n getFileType,\n isDifferentChannel,\n isMyMessage,\n useIIFE,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../components/ChannelCover';\nimport { DEFAULT_LONG_PRESS_DELAY } from '../constants';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = {\n channel: SendbirdGroupChannel;\n onPress: () => void;\n onLongPress: () => void;\n};\nconst GroupChannelPreviewContainer = ({ onPress, onLongPress, channel }: Props) => {\n const { currentUser, sdk, features, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n\n if (features.channelListTypingIndicatorEnabled) {\n const handlerId = useUniqHandlerId('GroupChannelPreviewContainer_TypingIndicator');\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n }\n\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, channel.lastMessage);\n\n const bodyText = useIIFE(() => {\n if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';\n else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);\n });\n\n const bodyIcon = useIIFE(() => {\n if (!channel.lastMessage?.isFileMessage()) return undefined;\n if (typingUsers.length > 0) return undefined;\n return iconMapper[getFileType(channel.lastMessage.type || getFileExtension(channel.lastMessage.name))];\n });\n\n const titleCaptionIcon = useIIFE(() => {\n if (!channel.lastMessage) return undefined;\n if (!features.channelListMessageReceiptStatusEnabled) return undefined;\n if (!isMyMessage(channel.lastMessage, currentUser?.userId)) return undefined;\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={16} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={16} color={colors.error} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={16} color={colors.onBackground03} containerStyle={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'DELIVERED' || outgoingStatus === 'UNREAD') {\n return <Icon icon={'done-all'} size={16} color={colors.onBackground03} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={16} color={colors.secondary} style={styles.titleCaptionIcon} />;\n }\n\n return undefined;\n });\n\n return (\n <Pressable delayLongPress={DEFAULT_LONG_PRESS_DELAY} onPress={onPress} onLongPress={onLongPress}>\n <GroupChannelPreview\n customCover={<ChannelCover channel={channel} size={56} />}\n coverUrl={channel.coverUrl}\n title={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(currentUser?.userId ?? '', channel)}\n titleCaptionLeft={titleCaptionIcon}\n titleCaption={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel)}\n body={bodyText}\n bodyIcon={bodyIcon}\n badgeCount={channel.unreadMessageCount}\n mentioned={channel.unreadMentionCount > 0}\n mentionTrigger={mentionManager.config.trigger}\n memberCount={channel.memberCount > 2 ? channel.memberCount : undefined}\n frozen={channel.isFrozen}\n broadcast={channel.isBroadcast}\n notificationOff={channel.myPushTriggerOption === 'off'}\n />\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n titleCaptionIcon: {\n marginRight: 4,\n },\n broadcastCover: {\n padding: 12,\n borderRadius: 28,\n },\n});\n\nexport default GroupChannelPreviewContainer;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelCover","_interopRequireDefault","_constants","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","iconMapper","audio","image","video","file","GroupChannelPreviewContainer","_ref","onPress","onLongPress","channel","currentUser","sdk","features","mentionManager","useSendbirdChat","STRINGS","useLocalization","colors","useUIKitTheme","typingUsers","setTypingUsers","useState","channelListTypingIndicatorEnabled","handlerId","useUniqHandlerId","useChannelHandler","onTypingStatusUpdated","eventChannel","isDifferentChannel","getTypingUsers","outgoingStatus","useMessageOutgoingStatus","lastMessage","bodyText","useIIFE","length","LABELS","TYPING_INDICATOR_TYPINGS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_BODY","fileIcon","_channel$lastMessage","isFileMessage","undefined","getFileType","type","getFileExtension","name","titleCaptionIcon","channelListMessageReceiptStatusEnabled","isMyMessage","userId","createElement","LoadingSpinner","size","style","styles","Icon","icon","color","error","onBackground03","containerStyle","secondary","Pressable","delayLongPress","DEFAULT_LONG_PRESS_DELAY","GroupChannelPreview","customCover","coverUrl","title","CHANNEL_PREVIEW_TITLE","titleCaptionLeft","titleCaption","CHANNEL_PREVIEW_TITLE_CAPTION","body","bodyIcon","badgeCount","unreadMessageCount","mentioned","unreadMentionCount","mentionTrigger","config","trigger","memberCount","frozen","isFrozen","broadcast","isBroadcast","notificationOff","myPushTriggerOption","createStyleSheet","marginRight","broadcastCover","padding","borderRadius","_default","exports"],"sources":["GroupChannelPreviewContainer.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Pressable } from 'react-native';\n\nimport { useChannelHandler, useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport {\n GroupChannelPreview,\n Icon,\n LoadingSpinner,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdGroupChannel,\n SendbirdUser,\n getFileExtension,\n getFileType,\n isDifferentChannel,\n isMyMessage,\n useIIFE,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../components/ChannelCover';\nimport { DEFAULT_LONG_PRESS_DELAY } from '../constants';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = {\n channel: SendbirdGroupChannel;\n onPress: () => void;\n onLongPress: () => void;\n};\nconst GroupChannelPreviewContainer = ({ onPress, onLongPress, channel }: Props) => {\n const { currentUser, sdk, features, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n\n if (features.channelListTypingIndicatorEnabled) {\n const handlerId = useUniqHandlerId('GroupChannelPreviewContainer_TypingIndicator');\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n }\n\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, channel.lastMessage);\n\n const bodyText = useIIFE(() => {\n if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';\n else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);\n });\n\n const fileIcon = useIIFE(() => {\n if (!channel.lastMessage?.isFileMessage()) return undefined;\n if (typingUsers.length > 0) return undefined;\n return iconMapper[getFileType(channel.lastMessage.type || getFileExtension(channel.lastMessage.name))];\n });\n\n const titleCaptionIcon = useIIFE(() => {\n if (!channel.lastMessage) return undefined;\n if (!features.channelListMessageReceiptStatusEnabled) return undefined;\n if (!isMyMessage(channel.lastMessage, currentUser?.userId)) return undefined;\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={16} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={16} color={colors.error} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={16} color={colors.onBackground03} containerStyle={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'DELIVERED' || outgoingStatus === 'UNREAD') {\n return <Icon icon={'done-all'} size={16} color={colors.onBackground03} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={16} color={colors.secondary} style={styles.titleCaptionIcon} />;\n }\n\n return undefined;\n });\n\n return (\n <Pressable delayLongPress={DEFAULT_LONG_PRESS_DELAY} onPress={onPress} onLongPress={onLongPress}>\n <GroupChannelPreview\n customCover={<ChannelCover channel={channel} size={56} />}\n coverUrl={channel.coverUrl}\n title={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(currentUser?.userId ?? '', channel)}\n titleCaptionLeft={titleCaptionIcon}\n titleCaption={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel)}\n body={bodyText}\n bodyIcon={fileIcon}\n badgeCount={channel.unreadMessageCount}\n mentioned={channel.unreadMentionCount > 0}\n mentionTrigger={mentionManager.config.trigger}\n memberCount={channel.memberCount > 2 ? channel.memberCount : undefined}\n frozen={channel.isFrozen}\n broadcast={channel.isBroadcast}\n notificationOff={channel.myPushTriggerOption === 'off'}\n />\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n titleCaptionIcon: {\n marginRight: 4,\n },\n broadcastCover: {\n padding: 12,\n borderRadius: 28,\n },\n});\n\nexport default GroupChannelPreviewContainer;\n"],"mappings":"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"}
@@ -39,7 +39,8 @@ const SendbirdUIKit = Object.freeze({
39
39
  CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,
40
40
  USE_USER_ID_FOR_NICKNAME: false,
41
41
  USER_MENTION: false,
42
- IMAGE_COMPRESSION: true
42
+ IMAGE_COMPRESSION: true,
43
+ MESSAGE_SEARCH: false
43
44
  }
44
45
  });
45
46
  exports.SendbirdUIKit = SendbirdUIKit;
@@ -117,7 +118,8 @@ const SendbirdUIKitContainer = _ref => {
117
118
  enableChannelListMessageReceiptStatus: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableChannelListMessageReceiptStatus) ?? SendbirdUIKit.DEFAULT.CHANNEL_LIST_MESSAGE_RECEIPT_STATUS,
118
119
  enableUseUserIdForNickname: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableUseUserIdForNickname) ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME,
119
120
  enableUserMention: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableUserMention) ?? SendbirdUIKit.DEFAULT.USER_MENTION,
120
- enableImageCompression: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableImageCompression) ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION
121
+ enableImageCompression: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableImageCompression) ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION,
122
+ enableMessageSearch: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableMessageSearch) ?? SendbirdUIKit.DEFAULT.MESSAGE_SEARCH
121
123
  }, /*#__PURE__*/_react.default.createElement(_LocalizationCtx.LocalizationProvider, {
122
124
  stringSet: defaultStringSet
123
125
  }, /*#__PURE__*/_react.default.createElement(_PlatformServiceCtx.PlatformServiceProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_interopRequireDefault","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","NetInfo","SBUDynamicModule","SendbirdUIKit","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","CHANNEL_LIST_TYPING_INDICATOR","CHANNEL_LIST_MESSAGE_RECEIPT_STATUS","USE_USER_ID_FOR_NICKNAME","USER_MENTION","IMAGE_COMPRESSION","exports","SendbirdUIKitContainer","_ref","children","appId","chatOptions","platformServices","localization","styles","errorBoundary","toast","userProfile","userMention","imageCompression","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useMemo","localCacheStorage","InternalLocalCacheStorage","undefined","sdkInstance","setSdkInstance","useState","sendbird","initializeSendbird","onInitialized","current","chatSDK","emojiManager","EmojiManager","mentionManager","config","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","MentionManager","enableUserMention","imageCompressionConfig","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","useLayoutEffect","forEach","u","renderChildren","disabled","createElement","SafeAreaProvider","SendbirdChatProvider","enableAutoPushTokenRegistration","enableChannelListTypingIndicator","enableChannelListMessageReceiptStatus","enableUseUserIdForNickname","enableImageCompression","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","onCreateChannel","onBeforeCreateChannel","ReactionProvider","LocalizationContext","Consumer","value","STRINGS","DialogProvider","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","Sendbird","init","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","Boolean","useAsyncStorageStore","newInstance","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport Sendbird from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { NOOP, useIsFirstMount } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport type { UIKitFeaturesInSendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n} from '../platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\n\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n CHANNEL_LIST_TYPING_INDICATOR: false,\n CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,\n USE_USER_ID_FOR_NICKNAME: false,\n USER_MENTION: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n };\n chatOptions?: {\n localCacheStorage?: LocalCacheStorage;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n } & Partial<UIKitFeaturesInSendbirdChatContext>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;\n };\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n toast,\n userProfile,\n userMention,\n imageCompression,\n}: SendbirdUIKitContainerProps) => {\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n const internalStorage = useMemo(\n () => (chatOptions?.localCacheStorage ? new InternalLocalCacheStorage(chatOptions.localCacheStorage) : undefined),\n [chatOptions?.localCacheStorage],\n );\n\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n\n const mentionManager = useMemo(() => {\n const config = new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n return new MentionManager(config, chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION);\n }, [\n chatOptions?.enableUserMention,\n userMention?.mentionLimit,\n userMention?.suggestionLimit,\n userMention?.debounceMills,\n ]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n if (!isFirstMount) {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n }\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n return (\n <SafeAreaProvider>\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n enableAutoPushTokenRegistration={\n chatOptions?.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableChannelListTypingIndicator={\n chatOptions?.enableChannelListTypingIndicator ?? SendbirdUIKit.DEFAULT.CHANNEL_LIST_TYPING_INDICATOR\n }\n enableChannelListMessageReceiptStatus={\n chatOptions?.enableChannelListMessageReceiptStatus ??\n SendbirdUIKit.DEFAULT.CHANNEL_LIST_MESSAGE_RECEIPT_STATUS\n }\n enableUseUserIdForNickname={\n chatOptions?.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableUserMention={chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION}\n enableImageCompression={chatOptions?.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider\n onCreateChannel={userProfile?.onCreateChannel}\n onBeforeCreateChannel={userProfile?.onBeforeCreateChannel}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ReactionProvider>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </SafeAreaProvider>\n );\n};\n\nconst initializeSendbird = (\n appId: string,\n internalStorage?: InternalLocalCacheStorage,\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK,\n) => {\n const unsubscribes: Array<() => void> = [];\n let chatSDK: SendbirdChatSDK;\n\n chatSDK = Sendbird.init({\n appId,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: Boolean(internalStorage),\n useAsyncStorageStore: internalStorage as never,\n newInstance: true,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n if (SendbirdUIKit.VERSION) {\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_interopRequireDefault","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","NetInfo","SBUDynamicModule","SendbirdUIKit","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","CHANNEL_LIST_TYPING_INDICATOR","CHANNEL_LIST_MESSAGE_RECEIPT_STATUS","USE_USER_ID_FOR_NICKNAME","USER_MENTION","IMAGE_COMPRESSION","MESSAGE_SEARCH","exports","SendbirdUIKitContainer","_ref","children","appId","chatOptions","platformServices","localization","styles","errorBoundary","toast","userProfile","userMention","imageCompression","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useMemo","localCacheStorage","InternalLocalCacheStorage","undefined","sdkInstance","setSdkInstance","useState","sendbird","initializeSendbird","onInitialized","current","chatSDK","emojiManager","EmojiManager","mentionManager","config","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","MentionManager","enableUserMention","imageCompressionConfig","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","useLayoutEffect","forEach","u","renderChildren","disabled","createElement","SafeAreaProvider","SendbirdChatProvider","enableAutoPushTokenRegistration","enableChannelListTypingIndicator","enableChannelListMessageReceiptStatus","enableUseUserIdForNickname","enableImageCompression","enableMessageSearch","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","onCreateChannel","onBeforeCreateChannel","ReactionProvider","LocalizationContext","Consumer","value","STRINGS","DialogProvider","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","Sendbird","init","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","Boolean","useAsyncStorageStore","newInstance","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport Sendbird from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { NOOP, useIsFirstMount } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport type { UIKitFeaturesInSendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n} from '../platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\n\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n CHANNEL_LIST_TYPING_INDICATOR: false,\n CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,\n USE_USER_ID_FOR_NICKNAME: false,\n USER_MENTION: false,\n IMAGE_COMPRESSION: true,\n MESSAGE_SEARCH: false,\n },\n});\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n };\n chatOptions?: {\n localCacheStorage?: LocalCacheStorage;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n } & Partial<UIKitFeaturesInSendbirdChatContext>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;\n };\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n toast,\n userProfile,\n userMention,\n imageCompression,\n}: SendbirdUIKitContainerProps) => {\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n const internalStorage = useMemo(\n () => (chatOptions?.localCacheStorage ? new InternalLocalCacheStorage(chatOptions.localCacheStorage) : undefined),\n [chatOptions?.localCacheStorage],\n );\n\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n\n const mentionManager = useMemo(() => {\n const config = new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n return new MentionManager(config, chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION);\n }, [\n chatOptions?.enableUserMention,\n userMention?.mentionLimit,\n userMention?.suggestionLimit,\n userMention?.debounceMills,\n ]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n if (!isFirstMount) {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n }\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n return (\n <SafeAreaProvider>\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n enableAutoPushTokenRegistration={\n chatOptions?.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableChannelListTypingIndicator={\n chatOptions?.enableChannelListTypingIndicator ?? SendbirdUIKit.DEFAULT.CHANNEL_LIST_TYPING_INDICATOR\n }\n enableChannelListMessageReceiptStatus={\n chatOptions?.enableChannelListMessageReceiptStatus ??\n SendbirdUIKit.DEFAULT.CHANNEL_LIST_MESSAGE_RECEIPT_STATUS\n }\n enableUseUserIdForNickname={\n chatOptions?.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableUserMention={chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION}\n enableImageCompression={chatOptions?.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n enableMessageSearch={chatOptions?.enableMessageSearch ?? SendbirdUIKit.DEFAULT.MESSAGE_SEARCH}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider\n onCreateChannel={userProfile?.onCreateChannel}\n onBeforeCreateChannel={userProfile?.onBeforeCreateChannel}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ReactionProvider>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </SafeAreaProvider>\n );\n};\n\nconst initializeSendbird = (\n appId: string,\n internalStorage?: InternalLocalCacheStorage,\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK,\n) => {\n const unsubscribes: Array<() => void> = [];\n let chatSDK: SendbirdChatSDK;\n\n chatSDK = Sendbird.init({\n appId,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: Boolean(internalStorage),\n useAsyncStorageStore: internalStorage as never,\n newInstance: true,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n if (SendbirdUIKit.VERSION) {\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
@@ -23,7 +23,8 @@ const SendbirdChatProvider = _ref => {
23
23
  enableChannelListTypingIndicator,
24
24
  enableUseUserIdForNickname,
25
25
  enableUserMention,
26
- enableImageCompression
26
+ enableImageCompression,
27
+ enableMessageSearch
27
28
  } = _ref;
28
29
  const [currentUser, _setCurrentUser] = (0, _react.useState)();
29
30
  const forceUpdate = (0, _uikitUtils.useForceUpdate)();
@@ -78,7 +79,8 @@ const SendbirdChatProvider = _ref => {
78
79
  channelListMessageReceiptStatusEnabled: enableChannelListMessageReceiptStatus,
79
80
  useUserIdForNicknameEnabled: enableUseUserIdForNickname,
80
81
  userMentionEnabled: enableUserMention,
81
- imageCompressionEnabled: enableImageCompression
82
+ imageCompressionEnabled: enableImageCompression,
83
+ messageSearchEnabled: enableMessageSearch
82
84
  }
83
85
  };
84
86
  return /*#__PURE__*/_react.default.createElement(SendbirdChatContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SendbirdChatContext","React","createContext","exports","SendbirdChatProvider","_ref","children","sdkInstance","emojiManager","mentionManager","imageCompressionConfig","enableAutoPushTokenRegistration","enableChannelListMessageReceiptStatus","enableChannelListTypingIndicator","enableUseUserIdForNickname","enableUserMention","enableImageCompression","currentUser","_setCurrentUser","useState","forceUpdate","useForceUpdate","appFeatures","useAppFeatures","setCurrentUser","useCallback","user","updateCurrentUserInfo","nickname","profile","Error","params","profileUrl","profileImage","markAsDeliveredWithChannel","channel","deliveryReceiptEnabled","confirmAndMarkAsDelivered","useAppState","status","connectionState","setForegroundState","setBackgroundState","value","sdk","features","autoPushTokenRegistrationEnabled","channelListTypingIndicatorEnabled","channelListMessageReceiptStatusEnabled","useUserIdForNicknameEnabled","userMentionEnabled","imageCompressionEnabled","createElement","Provider"],"sources":["SendbirdChatCtx.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\n\nimport { useAppFeatures } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdUser,\n SendbirdUserUpdateParams,\n} from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAppState, useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport type ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport type MentionManager from '../libs/MentionManager';\nimport type { FileType } from '../platform/types';\n\nexport interface UIKitFeaturesInSendbirdChatContext {\n enableAutoPushTokenRegistration: boolean;\n enableChannelListTypingIndicator: boolean;\n enableChannelListMessageReceiptStatus: boolean;\n enableUseUserIdForNickname: boolean;\n enableUserMention: boolean;\n enableImageCompression: boolean;\n}\n\ninterface Props extends UIKitFeaturesInSendbirdChatContext, React.PropsWithChildren {\n sdkInstance: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n}\n\nexport type SendbirdChatContextType = {\n sdk: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n currentUser?: SendbirdUser;\n setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;\n\n // helper functions\n updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;\n markAsDeliveredWithChannel: (channel: SendbirdGroupChannel) => void;\n\n features: {\n // UIKit features\n autoPushTokenRegistrationEnabled: boolean;\n channelListTypingIndicatorEnabled: boolean;\n channelListMessageReceiptStatusEnabled: boolean;\n useUserIdForNicknameEnabled: boolean;\n userMentionEnabled: boolean;\n imageCompressionEnabled: boolean;\n\n // Sendbird application features\n deliveryReceiptEnabled: boolean;\n broadcastChannelEnabled: boolean;\n superGroupChannelEnabled: boolean;\n reactionEnabled: boolean;\n };\n};\n\nexport const SendbirdChatContext = React.createContext<SendbirdChatContextType | null>(null);\nexport const SendbirdChatProvider = ({\n children,\n sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n enableAutoPushTokenRegistration,\n enableChannelListMessageReceiptStatus,\n enableChannelListTypingIndicator,\n enableUseUserIdForNickname,\n enableUserMention,\n enableImageCompression,\n}: Props) => {\n const [currentUser, _setCurrentUser] = useState<SendbirdUser>();\n const forceUpdate = useForceUpdate();\n const appFeatures = useAppFeatures(sdkInstance);\n\n const setCurrentUser: SendbirdChatContextType['setCurrentUser'] = useCallback((user) => {\n // NOTE: Sendbird SDK handle User object is always same object, so force update after setCurrentUser\n _setCurrentUser(user);\n forceUpdate();\n }, []);\n\n const updateCurrentUserInfo: SendbirdChatContextType['updateCurrentUserInfo'] = useCallback(\n async (nickname, profile) => {\n let user = currentUser;\n\n if (!user) throw new Error('Current user is not defined, please connect using `useConnection()` hook first');\n\n const params: SendbirdUserUpdateParams = {};\n\n if (!nickname) {\n params.nickname = user.nickname;\n } else {\n params.nickname = nickname;\n }\n\n if (!profile) {\n params.profileUrl = user.profileUrl;\n } else if (typeof profile === 'string') {\n params.profileUrl = profile;\n } else if (typeof profile === 'object') {\n params.profileImage = profile;\n } else {\n throw new Error(`Cannot update profile, not supported profile type(${typeof profile})`);\n }\n\n user = await sdkInstance.updateCurrentUserInfo(params);\n\n setCurrentUser(user);\n return user;\n },\n [sdkInstance, currentUser, setCurrentUser],\n );\n\n const markAsDeliveredWithChannel: SendbirdChatContextType['markAsDeliveredWithChannel'] = useCallback(\n (channel: SendbirdGroupChannel) => {\n if (appFeatures.deliveryReceiptEnabled) confirmAndMarkAsDelivered([channel]);\n },\n [sdkInstance, appFeatures.deliveryReceiptEnabled],\n );\n\n useAppState('change', (status) => {\n // 'active' | 'background' | 'inactive' | 'unknown' | 'extension';\n if (status === 'active') sdkInstance.connectionState === 'CLOSED' && sdkInstance.setForegroundState();\n else if (status === 'background') sdkInstance.connectionState === 'OPEN' && sdkInstance.setBackgroundState();\n });\n\n const value: SendbirdChatContextType = {\n sdk: sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n currentUser,\n setCurrentUser,\n\n updateCurrentUserInfo,\n markAsDeliveredWithChannel,\n\n features: {\n ...appFeatures,\n autoPushTokenRegistrationEnabled: enableAutoPushTokenRegistration,\n channelListTypingIndicatorEnabled: enableChannelListTypingIndicator,\n channelListMessageReceiptStatusEnabled: enableChannelListMessageReceiptStatus,\n useUserIdForNicknameEnabled: enableUseUserIdForNickname,\n userMentionEnabled: enableUserMention,\n imageCompressionEnabled: enableImageCompression,\n },\n };\n\n return <SendbirdChatContext.Provider value={value}>{children}</SendbirdChatContext.Provider>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SendbirdChatContext","React","createContext","exports","SendbirdChatProvider","_ref","children","sdkInstance","emojiManager","mentionManager","imageCompressionConfig","enableAutoPushTokenRegistration","enableChannelListMessageReceiptStatus","enableChannelListTypingIndicator","enableUseUserIdForNickname","enableUserMention","enableImageCompression","enableMessageSearch","currentUser","_setCurrentUser","useState","forceUpdate","useForceUpdate","appFeatures","useAppFeatures","setCurrentUser","useCallback","user","updateCurrentUserInfo","nickname","profile","Error","params","profileUrl","profileImage","markAsDeliveredWithChannel","channel","deliveryReceiptEnabled","confirmAndMarkAsDelivered","useAppState","status","connectionState","setForegroundState","setBackgroundState","value","sdk","features","autoPushTokenRegistrationEnabled","channelListTypingIndicatorEnabled","channelListMessageReceiptStatusEnabled","useUserIdForNicknameEnabled","userMentionEnabled","imageCompressionEnabled","messageSearchEnabled","createElement","Provider"],"sources":["SendbirdChatCtx.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\n\nimport { useAppFeatures } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdUser,\n SendbirdUserUpdateParams,\n} from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAppState, useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport type ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport type MentionManager from '../libs/MentionManager';\nimport type { FileType } from '../platform/types';\n\nexport interface UIKitFeaturesInSendbirdChatContext {\n enableAutoPushTokenRegistration: boolean;\n enableChannelListTypingIndicator: boolean;\n enableChannelListMessageReceiptStatus: boolean;\n enableUseUserIdForNickname: boolean;\n enableUserMention: boolean;\n enableImageCompression: boolean;\n enableMessageSearch: boolean;\n}\n\ninterface Props extends UIKitFeaturesInSendbirdChatContext, React.PropsWithChildren {\n sdkInstance: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n}\n\nexport type SendbirdChatContextType = {\n sdk: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n currentUser?: SendbirdUser;\n setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;\n\n // helper functions\n updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;\n markAsDeliveredWithChannel: (channel: SendbirdGroupChannel) => void;\n\n features: {\n // RN UIKit features\n autoPushTokenRegistrationEnabled: boolean;\n\n // UIKit features\n channelListTypingIndicatorEnabled: boolean;\n channelListMessageReceiptStatusEnabled: boolean;\n useUserIdForNicknameEnabled: boolean;\n userMentionEnabled: boolean;\n imageCompressionEnabled: boolean;\n messageSearchEnabled: boolean;\n\n // Sendbird application features\n deliveryReceiptEnabled: boolean;\n broadcastChannelEnabled: boolean;\n superGroupChannelEnabled: boolean;\n reactionEnabled: boolean;\n };\n};\n\nexport const SendbirdChatContext = React.createContext<SendbirdChatContextType | null>(null);\nexport const SendbirdChatProvider = ({\n children,\n sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n enableAutoPushTokenRegistration,\n enableChannelListMessageReceiptStatus,\n enableChannelListTypingIndicator,\n enableUseUserIdForNickname,\n enableUserMention,\n enableImageCompression,\n enableMessageSearch,\n}: Props) => {\n const [currentUser, _setCurrentUser] = useState<SendbirdUser>();\n const forceUpdate = useForceUpdate();\n const appFeatures = useAppFeatures(sdkInstance);\n\n const setCurrentUser: SendbirdChatContextType['setCurrentUser'] = useCallback((user) => {\n // NOTE: Sendbird SDK handle User object is always same object, so force update after setCurrentUser\n _setCurrentUser(user);\n forceUpdate();\n }, []);\n\n const updateCurrentUserInfo: SendbirdChatContextType['updateCurrentUserInfo'] = useCallback(\n async (nickname, profile) => {\n let user = currentUser;\n\n if (!user) throw new Error('Current user is not defined, please connect using `useConnection()` hook first');\n\n const params: SendbirdUserUpdateParams = {};\n\n if (!nickname) {\n params.nickname = user.nickname;\n } else {\n params.nickname = nickname;\n }\n\n if (!profile) {\n params.profileUrl = user.profileUrl;\n } else if (typeof profile === 'string') {\n params.profileUrl = profile;\n } else if (typeof profile === 'object') {\n params.profileImage = profile;\n } else {\n throw new Error(`Cannot update profile, not supported profile type(${typeof profile})`);\n }\n\n user = await sdkInstance.updateCurrentUserInfo(params);\n\n setCurrentUser(user);\n return user;\n },\n [sdkInstance, currentUser, setCurrentUser],\n );\n\n const markAsDeliveredWithChannel: SendbirdChatContextType['markAsDeliveredWithChannel'] = useCallback(\n (channel: SendbirdGroupChannel) => {\n if (appFeatures.deliveryReceiptEnabled) confirmAndMarkAsDelivered([channel]);\n },\n [sdkInstance, appFeatures.deliveryReceiptEnabled],\n );\n\n useAppState('change', (status) => {\n // 'active' | 'background' | 'inactive' | 'unknown' | 'extension';\n if (status === 'active') sdkInstance.connectionState === 'CLOSED' && sdkInstance.setForegroundState();\n else if (status === 'background') sdkInstance.connectionState === 'OPEN' && sdkInstance.setBackgroundState();\n });\n\n const value: SendbirdChatContextType = {\n sdk: sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n currentUser,\n setCurrentUser,\n\n updateCurrentUserInfo,\n markAsDeliveredWithChannel,\n\n features: {\n ...appFeatures,\n autoPushTokenRegistrationEnabled: enableAutoPushTokenRegistration,\n channelListTypingIndicatorEnabled: enableChannelListTypingIndicator,\n channelListMessageReceiptStatusEnabled: enableChannelListMessageReceiptStatus,\n useUserIdForNicknameEnabled: enableUseUserIdForNickname,\n userMentionEnabled: enableUserMention,\n imageCompressionEnabled: enableImageCompression,\n messageSearchEnabled: enableMessageSearch,\n },\n };\n\n return <SendbirdChatContext.Provider value={value}>{children}</SendbirdChatContext.Provider>;\n};\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
15
15
  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; }
16
16
  const GroupChannelHeader = _ref => {
17
17
  let {
18
+ shouldHideRight,
18
19
  onPressHeaderLeft,
19
20
  onPressHeaderRight
20
21
  } = _ref;
@@ -32,6 +33,7 @@ const GroupChannelHeader = _ref => {
32
33
  HeaderComponent
33
34
  } = (0, _uikitReactNativeFoundation.useHeaderStyle)();
34
35
  const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);
36
+ const isHidden = shouldHideRight();
35
37
  return /*#__PURE__*/_react.default.createElement(HeaderComponent, {
36
38
  clearTitleMargin: true,
37
39
  title: /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -53,10 +55,10 @@ const GroupChannelHeader = _ref => {
53
55
  icon: 'arrow-left'
54
56
  }),
55
57
  onPressLeft: onPressHeaderLeft,
56
- right: /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
58
+ right: isHidden ? null : /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
57
59
  icon: 'info'
58
60
  }),
59
- onPressRight: onPressHeaderRight
61
+ onPressRight: isHidden ? undefined : onPressHeaderRight
60
62
  });
61
63
  };
62
64
  const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_ChannelCover","_interopRequireDefault","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupChannelHeader","_ref","onPressHeaderLeft","onPressHeaderRight","headerTitle","channel","useContext","GroupChannelContexts","Fragment","typingUsers","TypingIndicator","STRINGS","useLocalization","HeaderComponent","useHeaderStyle","subtitle","LABELS","TYPING_INDICATOR_TYPINGS","createElement","clearTitleMargin","title","View","style","styles","titleContainer","size","containerStyle","avatarGroup","flexShrink","Header","Title","h2","Boolean","Subtitle","left","Icon","icon","onPressLeft","right","onPressRight","createStyleSheet","maxWidth","flexDirection","alignItems","marginRight","marginTop","_default","exports"],"sources":["GroupChannelHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { Header, Icon, createStyleSheet, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelHeader = ({ onPressHeaderLeft, onPressHeaderRight }: GroupChannelProps['Header']) => {\n const { headerTitle, channel } = useContext(GroupChannelContexts.Fragment);\n const { typingUsers } = useContext(GroupChannelContexts.TypingIndicator);\n const { STRINGS } = useLocalization();\n const { HeaderComponent } = useHeaderStyle();\n const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <View style={styles.titleContainer}>\n <ChannelCover channel={channel} size={34} containerStyle={styles.avatarGroup} />\n <View style={{ flexShrink: 1 }}>\n <Header.Title h2>{headerTitle}</Header.Title>\n {Boolean(subtitle) && subtitle && <Header.Subtitle style={styles.subtitle}>{subtitle}</Header.Subtitle>}\n </View>\n </View>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={<Icon icon={'info'} />}\n onPressRight={onPressHeaderRight}\n />\n );\n};\n\nconst styles = createStyleSheet({\n titleContainer: {\n maxWidth: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n },\n avatarGroup: {\n marginRight: 8,\n },\n subtitle: {\n marginTop: 2,\n },\n});\n\nexport default GroupChannelHeader;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_ChannelCover","_interopRequireDefault","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupChannelHeader","_ref","shouldHideRight","onPressHeaderLeft","onPressHeaderRight","headerTitle","channel","useContext","GroupChannelContexts","Fragment","typingUsers","TypingIndicator","STRINGS","useLocalization","HeaderComponent","useHeaderStyle","subtitle","LABELS","TYPING_INDICATOR_TYPINGS","isHidden","createElement","clearTitleMargin","title","View","style","styles","titleContainer","size","containerStyle","avatarGroup","flexShrink","Header","Title","h2","Boolean","Subtitle","left","Icon","icon","onPressLeft","right","onPressRight","undefined","createStyleSheet","maxWidth","flexDirection","alignItems","marginRight","marginTop","_default","exports"],"sources":["GroupChannelHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { Header, Icon, createStyleSheet, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelHeader = ({\n shouldHideRight,\n onPressHeaderLeft,\n onPressHeaderRight,\n}: GroupChannelProps['Header']) => {\n const { headerTitle, channel } = useContext(GroupChannelContexts.Fragment);\n const { typingUsers } = useContext(GroupChannelContexts.TypingIndicator);\n const { STRINGS } = useLocalization();\n const { HeaderComponent } = useHeaderStyle();\n const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);\n\n const isHidden = shouldHideRight();\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <View style={styles.titleContainer}>\n <ChannelCover channel={channel} size={34} containerStyle={styles.avatarGroup} />\n <View style={{ flexShrink: 1 }}>\n <Header.Title h2>{headerTitle}</Header.Title>\n {Boolean(subtitle) && subtitle && <Header.Subtitle style={styles.subtitle}>{subtitle}</Header.Subtitle>}\n </View>\n </View>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={isHidden ? null : <Icon icon={'info'} />}\n onPressRight={isHidden ? undefined : onPressHeaderRight}\n />\n );\n};\n\nconst styles = createStyleSheet({\n titleContainer: {\n maxWidth: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n },\n avatarGroup: {\n marginRight: 8,\n },\n subtitle: {\n marginTop: 2,\n },\n});\n\nexport default GroupChannelHeader;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAA+D,SAAAI,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAQ,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAG/D,MAAMW,kBAAkB,GAAGC,IAAA,IAIQ;EAAA,IAJP;IAC1BC,eAAe;IACfC,iBAAiB;IACjBC;EAC2B,CAAC,GAAAH,IAAA;EAC5B,MAAM;IAAEI,WAAW;IAAEC;EAAQ,CAAC,GAAG,IAAAC,iBAAU,EAACC,mCAAoB,CAACC,QAAQ,CAAC;EAC1E,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAH,iBAAU,EAACC,mCAAoB,CAACG,eAAe,CAAC;EACxE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAC,0CAAc,GAAE;EAC5C,MAAMC,QAAQ,GAAGJ,OAAO,CAACK,MAAM,CAACC,wBAAwB,CAACR,WAAW,CAAC;EAErE,MAAMS,QAAQ,GAAGjB,eAAe,EAAE;EAElC,oBACEjC,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACN,eAAe;IACdO,gBAAgB;IAChBC,KAAK,eACHrD,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAChD,YAAA,CAAAmD,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC;IAAe,gBACjCzD,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAC9C,aAAA,CAAAM,OAAY;MAAC0B,OAAO,EAAEA,OAAQ;MAACqB,IAAI,EAAE,EAAG;MAACC,cAAc,EAAEH,MAAM,CAACI;IAAY,EAAG,eAChF5D,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAChD,YAAA,CAAAmD,IAAI;MAACC,KAAK,EAAE;QAAEM,UAAU,EAAE;MAAE;IAAE,gBAC7B7D,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAC/C,2BAAA,CAAA0D,MAAM,CAACC,KAAK;MAACC,EAAE;IAAA,GAAE5B,WAAW,CAAgB,EAC5C6B,OAAO,CAAClB,QAAQ,CAAC,IAAIA,QAAQ,iBAAI/C,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAC/C,2BAAA,CAAA0D,MAAM,CAACI,QAAQ;MAACX,KAAK,EAAEC,MAAM,CAACT;IAAS,GAAEA,QAAQ,CAAmB,CAClG,CAEV;IACDoB,IAAI,eAAEnE,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAC/C,2BAAA,CAAAgE,IAAI;MAACC,IAAI,EAAE;IAAa,EAAI;IACnCC,WAAW,EAAEpC,iBAAkB;IAC/BqC,KAAK,EAAErB,QAAQ,GAAG,IAAI,gBAAGlD,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAAC/C,2BAAA,CAAAgE,IAAI;MAACC,IAAI,EAAE;IAAO,EAAI;IAChDG,YAAY,EAAEtB,QAAQ,GAAGuB,SAAS,GAAGtC;EAAmB,EACxD;AAEN,CAAC;AAED,MAAMqB,MAAM,GAAG,IAAAkB,4CAAgB,EAAC;EAC9BjB,cAAc,EAAE;IACdkB,QAAQ,EAAE,MAAM;IAChBC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDjB,WAAW,EAAE;IACXkB,WAAW,EAAE;EACf,CAAC;EACD/B,QAAQ,EAAE;IACRgC,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYjD,kBAAkB;AAAAkD,OAAA,CAAAtE,OAAA,GAAAqE,QAAA"}