@sendbird/uikit-react-native 3.2.0 → 3.4.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 (116) hide show
  1. package/lib/commonjs/components/ChannelInput/EditInput.js +2 -11
  2. package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
  3. package/lib/commonjs/components/ChannelInput/SendInput.js +2 -11
  4. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  5. package/lib/commonjs/components/ChannelInput/index.js +30 -3
  6. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  7. package/lib/commonjs/components/ChannelMessageList/index.js +148 -116
  8. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  9. package/lib/commonjs/components/FileViewer/FileViewerContent.js +140 -0
  10. package/lib/commonjs/components/FileViewer/FileViewerContent.js.map +1 -0
  11. package/lib/commonjs/components/FileViewer/FileViewerFooter.js +82 -0
  12. package/lib/commonjs/components/FileViewer/FileViewerFooter.js.map +1 -0
  13. package/lib/commonjs/components/FileViewer/FileViewerHeader.js +93 -0
  14. package/lib/commonjs/components/FileViewer/FileViewerHeader.js.map +1 -0
  15. package/lib/commonjs/components/FileViewer/index.js +133 -0
  16. package/lib/commonjs/components/FileViewer/index.js.map +1 -0
  17. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +34 -1
  18. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
  19. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
  20. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +14 -4
  21. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  22. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +11 -9
  23. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  24. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  25. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +4 -1
  26. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -1
  27. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +4 -2
  28. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
  29. package/lib/commonjs/fragments/createGroupChannelFragment.js +18 -16
  30. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  31. package/lib/commonjs/index.js +4 -0
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/types.js +7 -0
  34. package/lib/commonjs/types.js.map +1 -1
  35. package/lib/commonjs/utils/promise.js +138 -0
  36. package/lib/commonjs/utils/promise.js.map +1 -0
  37. package/lib/commonjs/version.js +1 -1
  38. package/lib/commonjs/version.js.map +1 -1
  39. package/lib/module/components/ChannelInput/EditInput.js +3 -12
  40. package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
  41. package/lib/module/components/ChannelInput/SendInput.js +3 -12
  42. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  43. package/lib/module/components/ChannelInput/index.js +32 -5
  44. package/lib/module/components/ChannelInput/index.js.map +1 -1
  45. package/lib/module/components/ChannelMessageList/index.js +148 -116
  46. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  47. package/lib/module/components/FileViewer/FileViewerContent.js +130 -0
  48. package/lib/module/components/FileViewer/FileViewerContent.js.map +1 -0
  49. package/lib/module/components/FileViewer/FileViewerFooter.js +74 -0
  50. package/lib/module/components/FileViewer/FileViewerFooter.js.map +1 -0
  51. package/lib/module/components/FileViewer/FileViewerHeader.js +85 -0
  52. package/lib/module/components/FileViewer/FileViewerHeader.js.map +1 -0
  53. package/lib/module/components/FileViewer/index.js +123 -0
  54. package/lib/module/components/FileViewer/index.js.map +1 -0
  55. package/lib/module/components/GroupChannelMessageRenderer/index.js +34 -2
  56. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -1
  57. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
  58. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +15 -5
  59. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  60. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +11 -9
  61. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  62. package/lib/module/domain/groupChannel/types.js.map +1 -1
  63. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js +4 -1
  64. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js.map +1 -1
  65. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +4 -2
  66. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
  67. package/lib/module/fragments/createGroupChannelFragment.js +19 -17
  68. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  69. package/lib/module/index.js +4 -0
  70. package/lib/module/index.js.map +1 -1
  71. package/lib/module/types.js +5 -1
  72. package/lib/module/types.js.map +1 -1
  73. package/lib/module/utils/promise.js +132 -0
  74. package/lib/module/utils/promise.js.map +1 -0
  75. package/lib/module/version.js +1 -1
  76. package/lib/module/version.js.map +1 -1
  77. package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -0
  78. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +4 -1
  79. package/lib/typescript/src/components/FileViewer/FileViewerContent.d.ts +13 -0
  80. package/lib/typescript/src/components/FileViewer/FileViewerFooter.d.ts +9 -0
  81. package/lib/typescript/src/components/FileViewer/FileViewerHeader.d.ts +10 -0
  82. package/lib/typescript/src/components/{FileViewer.d.ts → FileViewer/index.d.ts} +5 -1
  83. package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +3 -0
  84. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +2 -0
  85. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
  86. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +2 -2
  87. package/lib/typescript/src/domain/groupChannel/types.d.ts +5 -2
  88. package/lib/typescript/src/types.d.ts +4 -0
  89. package/lib/typescript/src/utils/promise.d.ts +7 -0
  90. package/lib/typescript/src/version.d.ts +1 -1
  91. package/package.json +8 -7
  92. package/src/components/ChannelInput/EditInput.tsx +3 -15
  93. package/src/components/ChannelInput/SendInput.tsx +2 -9
  94. package/src/components/ChannelInput/index.tsx +27 -4
  95. package/src/components/ChannelMessageList/index.tsx +145 -115
  96. package/src/components/FileViewer/FileViewerContent.tsx +141 -0
  97. package/src/components/FileViewer/FileViewerFooter.tsx +73 -0
  98. package/src/components/FileViewer/FileViewerHeader.tsx +86 -0
  99. package/src/components/FileViewer/index.tsx +139 -0
  100. package/src/components/GroupChannelMessageRenderer/index.tsx +34 -2
  101. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +3 -2
  102. package/src/domain/groupChannel/component/GroupChannelHeader.tsx +14 -3
  103. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +8 -6
  104. package/src/domain/groupChannel/types.ts +6 -2
  105. package/src/domain/messageSearch/component/MessageSearchHeader.tsx +4 -1
  106. package/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.tsx +4 -2
  107. package/src/fragments/createGroupChannelFragment.tsx +25 -15
  108. package/src/index.ts +5 -1
  109. package/src/types.ts +5 -0
  110. package/src/utils/promise.ts +139 -0
  111. package/src/version.ts +1 -1
  112. package/lib/commonjs/components/FileViewer.js +0 -300
  113. package/lib/commonjs/components/FileViewer.js.map +0 -1
  114. package/lib/module/components/FileViewer.js +0 -291
  115. package/lib/module/components/FileViewer.js.map +0 -1
  116. package/src/components/FileViewer.tsx +0 -288
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
10
  var _ChannelCover = _interopRequireDefault(require("../../../components/ChannelCover"));
11
11
  var _useContext = require("../../../hooks/useContext");
12
+ var _types = require("../../../types");
12
13
  var _moduleContext = require("../module/moduleContext");
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -19,6 +20,9 @@ const GroupChannelHeader = _ref => {
19
20
  onPressHeaderLeft,
20
21
  onPressHeaderRight
21
22
  } = _ref;
23
+ const {
24
+ sbOptions
25
+ } = (0, _useContext.useSendbirdChat)();
22
26
  const {
23
27
  headerTitle,
24
28
  channel
@@ -32,7 +36,15 @@ const GroupChannelHeader = _ref => {
32
36
  const {
33
37
  HeaderComponent
34
38
  } = (0, _uikitReactNativeFoundation.useHeaderStyle)();
35
- const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);
39
+ const renderSubtitle = () => {
40
+ const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);
41
+ if (!subtitle) return null;
42
+ if (!sbOptions.uikit.groupChannel.channel.enableTypingIndicator) return null;
43
+ if (!sbOptions.uikit.groupChannel.channel.typingIndicatorTypes.has(_types.TypingIndicatorType.Text)) return null;
44
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Header.Subtitle, {
45
+ style: styles.subtitle
46
+ }, subtitle);
47
+ };
36
48
  const isHidden = shouldHideRight();
37
49
  return /*#__PURE__*/_react.default.createElement(HeaderComponent, {
38
50
  clearTitleMargin: true,
@@ -48,9 +60,7 @@ const GroupChannelHeader = _ref => {
48
60
  }
49
61
  }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Header.Title, {
50
62
  h2: true
51
- }, headerTitle), Boolean(subtitle) && subtitle && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Header.Subtitle, {
52
- style: styles.subtitle
53
- }, subtitle))),
63
+ }, headerTitle), renderSubtitle())),
54
64
  left: /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
55
65
  icon: 'arrow-left'
56
66
  }),
@@ -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","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":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_ChannelCover","_interopRequireDefault","_useContext","_types","_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","sbOptions","useSendbirdChat","headerTitle","channel","useContext","GroupChannelContexts","Fragment","typingUsers","TypingIndicator","STRINGS","useLocalization","HeaderComponent","useHeaderStyle","renderSubtitle","subtitle","LABELS","TYPING_INDICATOR_TYPINGS","uikit","groupChannel","enableTypingIndicator","typingIndicatorTypes","TypingIndicatorType","Text","createElement","Header","Subtitle","style","styles","isHidden","clearTitleMargin","title","View","titleContainer","size","containerStyle","avatarGroup","flexShrink","Title","h2","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, useSendbirdChat } from '../../../hooks/useContext';\nimport { TypingIndicatorType } from '../../../types';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelHeader = ({\n shouldHideRight,\n onPressHeaderLeft,\n onPressHeaderRight,\n}: GroupChannelProps['Header']) => {\n const { sbOptions } = useSendbirdChat();\n const { headerTitle, channel } = useContext(GroupChannelContexts.Fragment);\n const { typingUsers } = useContext(GroupChannelContexts.TypingIndicator);\n const { STRINGS } = useLocalization();\n const { HeaderComponent } = useHeaderStyle();\n\n const renderSubtitle = () => {\n const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);\n\n if (!subtitle) return null;\n if (!sbOptions.uikit.groupChannel.channel.enableTypingIndicator) return null;\n if (!sbOptions.uikit.groupChannel.channel.typingIndicatorTypes.has(TypingIndicatorType.Text)) return null;\n\n return <Header.Subtitle style={styles.subtitle}>{subtitle}</Header.Subtitle>;\n };\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 {renderSubtitle()}\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":"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"}
@@ -54,9 +54,11 @@ const GroupChannelMessageList = props => {
54
54
  });
55
55
  } else {
56
56
  if (props.channel.messageOffsetTimestamp <= createdAt) {
57
- if (focusAnimated) props.onUpdateSearchItem({
58
- startingPoint: createdAt
59
- });
57
+ if (focusAnimated) {
58
+ props.onUpdateSearchItem({
59
+ startingPoint: createdAt
60
+ });
61
+ }
60
62
  props.onResetMessageListWithStartingPoint(createdAt);
61
63
  } else {
62
64
  return false;
@@ -64,16 +66,15 @@ const GroupChannelMessageList = props => {
64
66
  }
65
67
  return true;
66
68
  });
67
- const scrollToBottom = (0, _uikitUtils.useFreshCallback)(function () {
69
+ const scrollToBottom = (0, _uikitUtils.useFreshCallback)(async function () {
68
70
  let animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
69
71
  if (props.hasNext()) {
70
72
  props.onUpdateSearchItem(undefined);
71
73
  props.onScrolledAwayFromBottom(false);
72
- props.onResetMessageList(() => {
73
- props.onScrolledAwayFromBottom(false);
74
- lazyScrollToBottom({
75
- animated
76
- });
74
+ await props.onResetMessageList();
75
+ props.onScrolledAwayFromBottom(false);
76
+ lazyScrollToBottom({
77
+ animated
77
78
  });
78
79
  } else {
79
80
  lazyScrollToBottom({
@@ -101,6 +102,7 @@ const GroupChannelMessageList = props => {
101
102
  type
102
103
  } = _ref;
103
104
  switch (type) {
105
+ case 'TYPING_BUBBLE_RENDERED':
104
106
  case 'MESSAGES_RECEIVED':
105
107
  {
106
108
  if (!props.scrolledAwayFromBottom) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelMessageList","_interopRequireDefault","_constants","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","GroupChannelMessageList","props","toast","useToast","STRINGS","useLocalization","sdk","useSendbirdChat","setMessageToEdit","setMessageToReply","useContext","GroupChannelContexts","Fragment","subscribe","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToIndex","MessageList","id","useUniqHandlerId","isFirstMount","useIsFirstMount","scrollToMessageWithCreatedAt","useFreshCallback","createdAt","focusAnimated","timeout","foundMessageIndex","messages","findIndex","it","isIncludedInList","setTimeout","onUpdateSearchItem","startingPoint","MESSAGE_FOCUS_ANIMATION_DELAY","index","animated","channel","messageOffsetTimestamp","onResetMessageListWithStartingPoint","scrollToBottom","undefined","hasNext","onScrolledAwayFromBottom","onResetMessageList","useChannelHandler","onReactionUpdated","event","isDifferentChannel","recentMessage","isRecentMessage","messageId","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","useEffect","_ref","type","searchItem","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","onPressParentMessage","message","canScrollToParent","show","TOAST","FIND_PARENT_MSG_ERROR","createElement","ref","onReplyMessage","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","_default","React","memo","exports"],"sources":["GroupChannelMessageList.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, useFreshCallback, useIsFirstMount, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelMessageList from '../../../components/ChannelMessageList';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../../constants';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelMessageList = (props: GroupChannelProps['MessageList']) => {\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { setMessageToEdit, setMessageToReply } = useContext(GroupChannelContexts.Fragment);\n const { subscribe } = useContext(GroupChannelContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToIndex } = useContext(GroupChannelContexts.MessageList);\n\n const id = useUniqHandlerId('GroupChannelMessageList');\n const isFirstMount = useIsFirstMount();\n\n const scrollToMessageWithCreatedAt = useFreshCallback(\n (createdAt: number, focusAnimated: boolean, timeout: number): boolean => {\n const foundMessageIndex = props.messages.findIndex((it) => it.createdAt === createdAt);\n const isIncludedInList = foundMessageIndex > -1;\n\n if (isIncludedInList) {\n if (focusAnimated) {\n setTimeout(() => props.onUpdateSearchItem({ startingPoint: createdAt }), MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n lazyScrollToIndex({ index: foundMessageIndex, animated: true, timeout });\n } else {\n if (props.channel.messageOffsetTimestamp <= createdAt) {\n if (focusAnimated) props.onUpdateSearchItem({ startingPoint: createdAt });\n props.onResetMessageListWithStartingPoint(createdAt);\n } else {\n return false;\n }\n }\n return true;\n },\n );\n\n const scrollToBottom = useFreshCallback((animated = false) => {\n if (props.hasNext()) {\n props.onUpdateSearchItem(undefined);\n props.onScrolledAwayFromBottom(false);\n\n props.onResetMessageList(() => {\n props.onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n useChannelHandler(sdk, id, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return subscribe(({ type }) => {\n switch (type) {\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n useEffect(() => {\n // Only trigger once when message list mount with initial props.searchItem\n // - Search screen + searchItem > mount message list\n // - Reset message list + searchItem > re-mount message list\n if (isFirstMount && props.searchItem) {\n scrollToMessageWithCreatedAt(props.searchItem.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n }\n }, [isFirstMount]);\n\n const onPressParentMessage = useFreshCallback((message: SendbirdMessage) => {\n const canScrollToParent = scrollToMessageWithCreatedAt(message.createdAt, true, 0);\n if (!canScrollToParent) toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n });\n\n return (\n <ChannelMessageList\n {...props}\n ref={flatListRef}\n onReplyMessage={setMessageToReply}\n onEditMessage={setMessageToEdit}\n onPressParentMessage={onPressParentMessage}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n />\n );\n};\n\nexport default React.memo(GroupChannelMessageList);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelMessageList","_interopRequireDefault","_constants","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","GroupChannelMessageList","props","toast","useToast","STRINGS","useLocalization","sdk","useSendbirdChat","setMessageToEdit","setMessageToReply","useContext","GroupChannelContexts","Fragment","subscribe","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToIndex","MessageList","id","useUniqHandlerId","isFirstMount","useIsFirstMount","scrollToMessageWithCreatedAt","useFreshCallback","createdAt","focusAnimated","timeout","foundMessageIndex","messages","findIndex","it","isIncludedInList","setTimeout","onUpdateSearchItem","startingPoint","MESSAGE_FOCUS_ANIMATION_DELAY","index","animated","channel","messageOffsetTimestamp","onResetMessageListWithStartingPoint","scrollToBottom","undefined","hasNext","onScrolledAwayFromBottom","onResetMessageList","useChannelHandler","onReactionUpdated","event","isDifferentChannel","recentMessage","isRecentMessage","messageId","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","useEffect","_ref","type","searchItem","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","onPressParentMessage","message","canScrollToParent","show","TOAST","FIND_PARENT_MSG_ERROR","createElement","ref","onReplyMessage","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","_default","React","memo","exports"],"sources":["GroupChannelMessageList.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, useFreshCallback, useIsFirstMount, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelMessageList from '../../../components/ChannelMessageList';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../../constants';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelMessageList = (props: GroupChannelProps['MessageList']) => {\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { setMessageToEdit, setMessageToReply } = useContext(GroupChannelContexts.Fragment);\n const { subscribe } = useContext(GroupChannelContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToIndex } = useContext(GroupChannelContexts.MessageList);\n\n const id = useUniqHandlerId('GroupChannelMessageList');\n const isFirstMount = useIsFirstMount();\n\n const scrollToMessageWithCreatedAt = useFreshCallback(\n (createdAt: number, focusAnimated: boolean, timeout: number): boolean => {\n const foundMessageIndex = props.messages.findIndex((it) => it.createdAt === createdAt);\n const isIncludedInList = foundMessageIndex > -1;\n\n if (isIncludedInList) {\n if (focusAnimated) {\n setTimeout(() => props.onUpdateSearchItem({ startingPoint: createdAt }), MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n lazyScrollToIndex({ index: foundMessageIndex, animated: true, timeout });\n } else {\n if (props.channel.messageOffsetTimestamp <= createdAt) {\n if (focusAnimated) {\n props.onUpdateSearchItem({ startingPoint: createdAt });\n }\n props.onResetMessageListWithStartingPoint(createdAt);\n } else {\n return false;\n }\n }\n return true;\n },\n );\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onUpdateSearchItem(undefined);\n props.onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList();\n props.onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n useChannelHandler(sdk, id, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return subscribe(({ type }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n useEffect(() => {\n // Only trigger once when message list mount with initial props.searchItem\n // - Search screen + searchItem > mount message list\n // - Reset message list + searchItem > re-mount message list\n if (isFirstMount && props.searchItem) {\n scrollToMessageWithCreatedAt(props.searchItem.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n }\n }, [isFirstMount]);\n\n const onPressParentMessage = useFreshCallback((message: SendbirdMessage) => {\n const canScrollToParent = scrollToMessageWithCreatedAt(message.createdAt, true, 0);\n if (!canScrollToParent) toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n });\n\n return (\n <ChannelMessageList\n {...props}\n ref={flatListRef}\n onReplyMessage={setMessageToReply}\n onEditMessage={setMessageToEdit}\n onPressParentMessage={onPressParentMessage}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n />\n );\n};\n\nexport default React.memo(GroupChannelMessageList);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatList } from 'react-native';\n\nimport type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n OnBeforeHandler,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n} from '@sendbird/uikit-utils';\n\nimport type { ChannelInputProps, SuggestedMentionListProps } from '../../components/ChannelInput';\nimport type { ChannelMessageListProps } from '../../components/ChannelMessageList';\nimport type { CommonComponent } from '../../types';\nimport type { PubSub } from '../../utils/pubsub';\n\nexport interface GroupChannelProps {\n Fragment: {\n channel: SendbirdGroupChannel;\n onChannelDeleted: () => void;\n onPressHeaderLeft: GroupChannelProps['Header']['onPressHeaderLeft'];\n onPressHeaderRight: GroupChannelProps['Header']['onPressHeaderRight'];\n onPressMediaMessage?: GroupChannelProps['MessageList']['onPressMediaMessage'];\n\n onBeforeSendUserMessage?: OnBeforeHandler<SendbirdUserMessageCreateParams>;\n onBeforeSendFileMessage?: OnBeforeHandler<SendbirdFileMessageCreateParams>;\n onBeforeUpdateUserMessage?: OnBeforeHandler<SendbirdUserMessageUpdateParams>;\n onBeforeUpdateFileMessage?: OnBeforeHandler<SendbirdFileMessageUpdateParams>;\n\n renderMessage?: GroupChannelProps['MessageList']['renderMessage'];\n renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];\n renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];\n\n enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];\n enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];\n\n keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];\n flatListProps?: GroupChannelProps['MessageList']['flatListProps'];\n sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];\n collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];\n\n searchItem?: GroupChannelProps['MessageList']['searchItem'];\n };\n Header: {\n shouldHideRight: () => boolean;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n };\n MessageList: Pick<\n ChannelMessageListProps<SendbirdGroupChannel>,\n | 'enableMessageGrouping'\n | 'currentUserId'\n | 'channel'\n | 'messages'\n | 'newMessages'\n | 'scrolledAwayFromBottom'\n | 'onScrolledAwayFromBottom'\n | 'onTopReached'\n | 'onBottomReached'\n | 'onResendFailedMessage'\n | 'onDeleteMessage'\n | 'onPressMediaMessage'\n | 'renderMessage'\n | 'renderNewMessagesButton'\n | 'renderScrollToBottomButton'\n | 'flatListProps'\n | 'hasNext'\n | 'searchItem'\n > & {\n onResetMessageList: (callback?: () => void) => void;\n onResetMessageListWithStartingPoint: (startingPoint: number, callback?: () => void) => void;\n\n // Changing the search item will trigger the focus animation on messages.\n onUpdateSearchItem: (searchItem?: GroupChannelProps['MessageList']['searchItem']) => void;\n };\n Input: Pick<\n ChannelInputProps,\n | 'shouldRenderInput'\n | 'onPressSendUserMessage'\n | 'onPressSendFileMessage'\n | 'onPressUpdateUserMessage'\n | 'onPressUpdateFileMessage'\n | 'SuggestedMentionList'\n | 'AttachmentsButton'\n >;\n\n SuggestedMentionList: SuggestedMentionListProps;\n Provider: {\n channel: SendbirdGroupChannel;\n enableTypingIndicator: boolean;\n keyboardAvoidOffset?: number;\n groupChannelPubSub: PubSub<GroupChannelPubSubContextPayload>;\n\n messages: SendbirdMessage[];\n // Changing the search item will trigger the focus animation on messages.\n onUpdateSearchItem: (searchItem?: GroupChannelProps['MessageList']['searchItem']) => void;\n };\n}\n\n/**\n * Internal context for GroupChannel\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n keyboardAvoidOffset?: number;\n channel: SendbirdGroupChannel;\n messageToEdit?: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n messageToReply?: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToReply: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n }>;\n TypingIndicator: React.Context<{\n typingUsers: SendbirdUser[];\n }>;\n PubSub: React.Context<PubSub<GroupChannelPubSubContextPayload>>;\n MessageList: React.Context<{\n /**\n * ref object for FlatList of MessageList\n * */\n flatListRef: React.MutableRefObject<FlatList | null>;\n /**\n * Function that scrolls to a message within a group channel.\n * @param messageId {number} - The id of the message to scroll.\n * @param options {object} - Scroll options (optional).\n * @param options.focusAnimated {boolean} - Enable a shake animation on the message component upon completion of scrolling.\n * @param options.viewPosition {number} - Position information to adjust the visible area during scrolling. bottom(0) ~ top(1.0)\n *\n * @example\n * ```\n * const { scrollToMessage } = useContext(GroupChannelContexts.MessageList);\n * const messageIncludedInMessageList = scrollToMessage(lastMessage.messageId, { focusAnimated: true, viewPosition: 1 });\n * if (!messageIncludedInMessageList) console.warn('Message not found in the message list.');\n * ```\n * */\n scrollToMessage: (messageId: number, options?: { focusAnimated?: boolean; viewPosition?: number }) => boolean;\n /**\n * Call the FlatList function asynchronously to scroll to bottom lazily\n * to avoid scrolling before data rendering has been committed.\n * */\n lazyScrollToBottom: (params?: { animated?: boolean; timeout?: number }) => void;\n /**\n * Call the FlatList function asynchronously to scroll to index lazily.\n * to avoid scrolling before data rendering has been committed.\n * */\n lazyScrollToIndex: (params?: {\n index?: number;\n animated?: boolean;\n timeout?: number;\n viewPosition?: number;\n }) => void;\n }>;\n}\nexport interface GroupChannelModule {\n Provider: CommonComponent<GroupChannelProps['Provider']>;\n Header: CommonComponent<GroupChannelProps['Header']>;\n MessageList: CommonComponent<GroupChannelProps['MessageList']>;\n Input: CommonComponent<GroupChannelProps['Input']>;\n SuggestedMentionList: CommonComponent<GroupChannelProps['SuggestedMentionList']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;\n\nexport type GroupChannelPubSubContextPayload =\n | {\n type: 'MESSAGE_SENT_PENDING' | 'MESSAGE_SENT_SUCCESS';\n data: {\n message: SendbirdUserMessage | SendbirdFileMessage;\n };\n }\n | {\n type: 'MESSAGES_RECEIVED' | 'MESSAGES_UPDATED';\n data: {\n messages: SendbirdMessage[];\n };\n };\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatList } from 'react-native';\n\nimport type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n OnBeforeHandler,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n} from '@sendbird/uikit-utils';\n\nimport type { ChannelInputProps, SuggestedMentionListProps } from '../../components/ChannelInput';\nimport type { ChannelMessageListProps } from '../../components/ChannelMessageList';\nimport type { CommonComponent } from '../../types';\nimport type { PubSub } from '../../utils/pubsub';\n\nexport interface GroupChannelProps {\n Fragment: {\n channel: SendbirdGroupChannel;\n onChannelDeleted: () => void;\n onPressHeaderLeft: GroupChannelProps['Header']['onPressHeaderLeft'];\n onPressHeaderRight: GroupChannelProps['Header']['onPressHeaderRight'];\n onPressMediaMessage?: GroupChannelProps['MessageList']['onPressMediaMessage'];\n\n onBeforeSendUserMessage?: OnBeforeHandler<SendbirdUserMessageCreateParams>;\n onBeforeSendFileMessage?: OnBeforeHandler<SendbirdFileMessageCreateParams>;\n onBeforeUpdateUserMessage?: OnBeforeHandler<SendbirdUserMessageUpdateParams>;\n onBeforeUpdateFileMessage?: OnBeforeHandler<SendbirdFileMessageUpdateParams>;\n\n renderMessage?: GroupChannelProps['MessageList']['renderMessage'];\n renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];\n renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];\n\n enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];\n enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];\n\n keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];\n flatListProps?: GroupChannelProps['MessageList']['flatListProps'];\n sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];\n collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];\n\n searchItem?: GroupChannelProps['MessageList']['searchItem'];\n };\n Header: {\n shouldHideRight: () => boolean;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n };\n MessageList: Pick<\n ChannelMessageListProps<SendbirdGroupChannel>,\n | 'enableMessageGrouping'\n | 'currentUserId'\n | 'channel'\n | 'messages'\n | 'newMessages'\n | 'scrolledAwayFromBottom'\n | 'onScrolledAwayFromBottom'\n | 'onTopReached'\n | 'onBottomReached'\n | 'onResendFailedMessage'\n | 'onDeleteMessage'\n | 'onPressMediaMessage'\n | 'renderMessage'\n | 'renderNewMessagesButton'\n | 'renderScrollToBottomButton'\n | 'flatListProps'\n | 'hasNext'\n | 'searchItem'\n > & {\n onResetMessageList: () => Promise<void>;\n onResetMessageListWithStartingPoint: (startingPoint: number) => Promise<void>;\n\n // Changing the search item will trigger the focus animation on messages.\n onUpdateSearchItem: (searchItem?: GroupChannelProps['MessageList']['searchItem']) => void;\n };\n Input: Pick<\n ChannelInputProps,\n | 'shouldRenderInput'\n | 'onPressSendUserMessage'\n | 'onPressSendFileMessage'\n | 'onPressUpdateUserMessage'\n | 'onPressUpdateFileMessage'\n | 'SuggestedMentionList'\n | 'AttachmentsButton'\n >;\n\n SuggestedMentionList: SuggestedMentionListProps;\n Provider: {\n channel: SendbirdGroupChannel;\n enableTypingIndicator: boolean;\n keyboardAvoidOffset?: number;\n groupChannelPubSub: PubSub<GroupChannelPubSubContextPayload>;\n\n messages: SendbirdMessage[];\n // Changing the search item will trigger the focus animation on messages.\n onUpdateSearchItem: (searchItem?: GroupChannelProps['MessageList']['searchItem']) => void;\n };\n}\n\n/**\n * Internal context for GroupChannel\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n keyboardAvoidOffset?: number;\n channel: SendbirdGroupChannel;\n messageToEdit?: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n messageToReply?: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToReply: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n }>;\n TypingIndicator: React.Context<{\n typingUsers: SendbirdUser[];\n }>;\n PubSub: React.Context<PubSub<GroupChannelPubSubContextPayload>>;\n MessageList: React.Context<{\n /**\n * ref object for FlatList of MessageList\n * */\n flatListRef: React.MutableRefObject<FlatList | null>;\n /**\n * Function that scrolls to a message within a group channel.\n * @param messageId {number} - The id of the message to scroll.\n * @param options {object} - Scroll options (optional).\n * @param options.focusAnimated {boolean} - Enable a shake animation on the message component upon completion of scrolling.\n * @param options.viewPosition {number} - Position information to adjust the visible area during scrolling. bottom(0) ~ top(1.0)\n *\n * @example\n * ```\n * const { scrollToMessage } = useContext(GroupChannelContexts.MessageList);\n * const messageIncludedInMessageList = scrollToMessage(lastMessage.messageId, { focusAnimated: true, viewPosition: 1 });\n * if (!messageIncludedInMessageList) console.warn('Message not found in the message list.');\n * ```\n * */\n scrollToMessage: (messageId: number, options?: { focusAnimated?: boolean; viewPosition?: number }) => boolean;\n /**\n * Call the FlatList function asynchronously to scroll to bottom lazily\n * to avoid scrolling before data rendering has been committed.\n * */\n lazyScrollToBottom: (params?: { animated?: boolean; timeout?: number }) => void;\n /**\n * Call the FlatList function asynchronously to scroll to index lazily.\n * to avoid scrolling before data rendering has been committed.\n * */\n lazyScrollToIndex: (params?: {\n index?: number;\n animated?: boolean;\n timeout?: number;\n viewPosition?: number;\n }) => void;\n }>;\n}\nexport interface GroupChannelModule {\n Provider: CommonComponent<GroupChannelProps['Provider']>;\n Header: CommonComponent<GroupChannelProps['Header']>;\n MessageList: CommonComponent<GroupChannelProps['MessageList']>;\n Input: CommonComponent<GroupChannelProps['Input']>;\n SuggestedMentionList: CommonComponent<GroupChannelProps['SuggestedMentionList']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;\n\nexport type GroupChannelPubSubContextPayload =\n | {\n type: 'MESSAGE_SENT_PENDING' | 'MESSAGE_SENT_SUCCESS';\n data: {\n message: SendbirdUserMessage | SendbirdFileMessage;\n };\n }\n | {\n type: 'MESSAGES_RECEIVED' | 'MESSAGES_UPDATED';\n data: {\n messages: SendbirdMessage[];\n };\n }\n | {\n type: 'TYPING_BUBBLE_RENDERED';\n data?: undefined;\n };\n"],"mappings":""}
@@ -97,7 +97,10 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
97
97
  flex: 1,
98
98
  height: '100%',
99
99
  fontSize: 14,
100
- padding: 0
100
+ paddingLeft: 0,
101
+ paddingTop: 0,
102
+ paddingBottom: 0,
103
+ paddingRight: 0
101
104
  }
102
105
  });
103
106
  var _default = MessageSearchHeader;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_useContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageSearchHeader","_ref","keyword","onChangeKeyword","onPressHeaderLeft","onPressHeaderRight","HeaderComponent","useHeaderStyle","colors","useUIKitTheme","STRINGS","useLocalization","inputRef","useRef","inputColor","ui","input","active","searchEnabled","length","useEffect","setTimeout","_inputRef$current","current","focus","Platform","select","ios","createElement","clearTitleMargin","title","Box","flex","height","alignItems","backgroundColor","background","borderRadius","paddingHorizontal","flexDirection","Icon","size","icon","color","onBackground03","containerStyle","styles","searchIcon","TextInput","disableFullscreenUI","enablesReturnKeyAutomatically","ref","returnKeyType","onSubmitEditing","selectionColor","primary","placeholder","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","placeholderTextColor","style","text","value","onChangeText","PressBox","onPress","clearIcon","left","onPressLeft","right","Text","button","onBackground04","HEADER_RIGHT","onPressRight","undefined","createStyleSheet","marginRight","marginLeft","fontSize","padding","_default","exports"],"sources":["MessageSearchHeader.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Platform, TextInput } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { MessageSearchProps } from '../types';\n\nconst MessageSearchHeader = ({\n keyword,\n onChangeKeyword,\n onPressHeaderLeft,\n onPressHeaderRight,\n}: MessageSearchProps['Header']) => {\n const { HeaderComponent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n\n const inputRef = useRef<TextInput>(null);\n const inputColor = colors.ui.input.default.active;\n const searchEnabled = keyword.length > 0;\n\n useEffect(() => {\n setTimeout(() => {\n inputRef.current?.focus();\n }, Platform.select({ ios: 500, default: 0 }));\n }, []);\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <Box\n flex={1}\n height={36}\n alignItems={'center'}\n backgroundColor={inputColor.background}\n borderRadius={24}\n paddingHorizontal={10}\n flexDirection={'row'}\n >\n <Icon size={24} icon={'search'} color={colors.onBackground03} containerStyle={styles.searchIcon} />\n <TextInput\n disableFullscreenUI\n enablesReturnKeyAutomatically\n ref={inputRef}\n returnKeyType={'search'}\n onSubmitEditing={() => onPressHeaderRight()}\n selectionColor={colors.primary}\n placeholder={STRINGS.MESSAGE_SEARCH.HEADER_INPUT_PLACEHOLDER}\n placeholderTextColor={inputColor.placeholder}\n style={[styles.input, { color: inputColor.text }]}\n value={keyword}\n onChangeText={onChangeKeyword}\n />\n {searchEnabled && (\n <PressBox onPress={() => onChangeKeyword('')}>\n <Icon size={18} icon={'remove'} color={colors.onBackground03} containerStyle={styles.clearIcon} />\n </PressBox>\n )}\n </Box>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={\n <Text button color={searchEnabled ? colors.primary : colors.onBackground04}>\n {STRINGS.MESSAGE_SEARCH.HEADER_RIGHT}\n </Text>\n }\n onPressRight={searchEnabled ? onPressHeaderRight : undefined}\n />\n );\n};\n\nconst styles = createStyleSheet({\n searchIcon: {\n marginRight: 8,\n },\n clearIcon: {\n marginLeft: 8,\n },\n input: {\n flex: 1,\n height: '100%',\n fontSize: 14,\n padding: 0,\n },\n});\n\nexport default MessageSearchHeader;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_useContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageSearchHeader","_ref","keyword","onChangeKeyword","onPressHeaderLeft","onPressHeaderRight","HeaderComponent","useHeaderStyle","colors","useUIKitTheme","STRINGS","useLocalization","inputRef","useRef","inputColor","ui","input","active","searchEnabled","length","useEffect","setTimeout","_inputRef$current","current","focus","Platform","select","ios","createElement","clearTitleMargin","title","Box","flex","height","alignItems","backgroundColor","background","borderRadius","paddingHorizontal","flexDirection","Icon","size","icon","color","onBackground03","containerStyle","styles","searchIcon","TextInput","disableFullscreenUI","enablesReturnKeyAutomatically","ref","returnKeyType","onSubmitEditing","selectionColor","primary","placeholder","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","placeholderTextColor","style","text","value","onChangeText","PressBox","onPress","clearIcon","left","onPressLeft","right","Text","button","onBackground04","HEADER_RIGHT","onPressRight","undefined","createStyleSheet","marginRight","marginLeft","fontSize","paddingLeft","paddingTop","paddingBottom","paddingRight","_default","exports"],"sources":["MessageSearchHeader.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Platform, TextInput } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { MessageSearchProps } from '../types';\n\nconst MessageSearchHeader = ({\n keyword,\n onChangeKeyword,\n onPressHeaderLeft,\n onPressHeaderRight,\n}: MessageSearchProps['Header']) => {\n const { HeaderComponent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n\n const inputRef = useRef<TextInput>(null);\n const inputColor = colors.ui.input.default.active;\n const searchEnabled = keyword.length > 0;\n\n useEffect(() => {\n setTimeout(() => {\n inputRef.current?.focus();\n }, Platform.select({ ios: 500, default: 0 }));\n }, []);\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <Box\n flex={1}\n height={36}\n alignItems={'center'}\n backgroundColor={inputColor.background}\n borderRadius={24}\n paddingHorizontal={10}\n flexDirection={'row'}\n >\n <Icon size={24} icon={'search'} color={colors.onBackground03} containerStyle={styles.searchIcon} />\n <TextInput\n disableFullscreenUI\n enablesReturnKeyAutomatically\n ref={inputRef}\n returnKeyType={'search'}\n onSubmitEditing={() => onPressHeaderRight()}\n selectionColor={colors.primary}\n placeholder={STRINGS.MESSAGE_SEARCH.HEADER_INPUT_PLACEHOLDER}\n placeholderTextColor={inputColor.placeholder}\n style={[styles.input, { color: inputColor.text }]}\n value={keyword}\n onChangeText={onChangeKeyword}\n />\n {searchEnabled && (\n <PressBox onPress={() => onChangeKeyword('')}>\n <Icon size={18} icon={'remove'} color={colors.onBackground03} containerStyle={styles.clearIcon} />\n </PressBox>\n )}\n </Box>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={\n <Text button color={searchEnabled ? colors.primary : colors.onBackground04}>\n {STRINGS.MESSAGE_SEARCH.HEADER_RIGHT}\n </Text>\n }\n onPressRight={searchEnabled ? onPressHeaderRight : undefined}\n />\n );\n};\n\nconst styles = createStyleSheet({\n searchIcon: {\n marginRight: 8,\n },\n clearIcon: {\n marginLeft: 8,\n },\n input: {\n flex: 1,\n height: '100%',\n fontSize: 14,\n paddingLeft: 0,\n paddingTop: 0,\n paddingBottom: 0,\n paddingRight: 0,\n },\n});\n\nexport default MessageSearchHeader;\n"],"mappings":"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"}
@@ -141,8 +141,10 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
141
141
  },
142
142
  input: {
143
143
  flex: 1,
144
- paddingVertical: 0,
145
- paddingHorizontal: 0
144
+ paddingLeft: 0,
145
+ paddingRight: 0,
146
+ paddingTop: 0,
147
+ paddingBottom: 0
146
148
  },
147
149
  removeButtonContainer: {
148
150
  alignItems: 'flex-end',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_Icon","_uikitUtils","_useContext","_SBUError","_SBUUtils","obj","__esModule","default","OpenChannelCreateProfileInput","_ref","channelName","channelCoverFile","onChangeChannelName","onChangeChannelCoverFile","toast","useToast","openSheet","useBottomSheet","palette","colors","typography","useUIKitTheme","safeArea","useSafeAreaPadding","STRINGS","useLocalization","fileService","usePlatformService","onPressPhotoButton","sheetItems","title","OPEN_CHANNEL_CREATE","DIALOG_IMAGE_MENU_CAMERA","onPress","mediaFile","openCamera","mediaType","onOpenFailure","error","code","SBUError","CODE","ERR_PERMISSIONS_DENIED","alert","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","LABELS","PERMISSION_CAMERA","PERMISSION_APP_NAME","buttons","text","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","show","TOAST","OPEN_CAMERA_ERROR","DIALOG_IMAGE_MENU_PHOTO_LIBRARY","mediaFiles","openMediaLibrary","selectionLimit","PERMISSION_DEVICE_STORAGE","OPEN_PHOTO_LIBRARY_ERROR","unshift","DIALOG_IMAGE_MENU_REMOVE","titleColor","undefined","createElement","Box","flexDirection","paddingVertical","paddingLeft","paddingRight","PressBox","style","styles","coverButton","activeOpacity","ifThenOr","Boolean","Avatar","size","uri","Icon","icon","borderBottomColor","onBackground04","inputContainer","TextInput","placeholder","PLACEHOLDER","subtitle1","input","backgroundColor","transparent","value","onChangeText","length","removeButtonContainer","color","onBackground03","createStyleSheet","marginRight","flex","alignItems","borderBottomWidth","paddingHorizontal","justifyContent","marginLeft","_default","exports"],"sources":["OpenChannelCreateProfileInput.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Avatar,\n BottomSheetItem,\n Box,\n PressBox,\n TextInput,\n createStyleSheet,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport Icon from '@sendbird/uikit-react-native-foundation/src/components/Icon';\nimport { ifThenOr, useSafeAreaPadding } from '@sendbird/uikit-utils';\n\nimport { useLocalization, usePlatformService } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { OpenChannelCreateProps } from '../types';\n\nconst OpenChannelCreateProfileInput = ({\n channelName,\n channelCoverFile,\n onChangeChannelName,\n onChangeChannelCoverFile,\n}: OpenChannelCreateProps['ProfileInput']) => {\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { palette, colors, typography } = useUIKitTheme();\n const safeArea = useSafeAreaPadding(['left', 'right']);\n\n const { STRINGS } = useLocalization();\n const { fileService } = usePlatformService();\n\n const onPressPhotoButton = () => {\n const sheetItems: BottomSheetItem['sheetItems'] = [\n {\n title: STRINGS.OPEN_CHANNEL_CREATE.DIALOG_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const mediaFile = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_CAMERA,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n\n if (mediaFile) onChangeChannelCoverFile(mediaFile);\n },\n },\n {\n title: STRINGS.OPEN_CHANNEL_CREATE.DIALOG_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const mediaFiles = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (mediaFiles?.[0]) onChangeChannelCoverFile(mediaFiles[0]);\n },\n },\n ];\n\n if (channelCoverFile) {\n sheetItems.unshift({\n title: STRINGS.OPEN_CHANNEL_CREATE.DIALOG_IMAGE_MENU_REMOVE,\n titleColor: colors.error,\n onPress: () => {\n onChangeChannelCoverFile(undefined);\n },\n });\n }\n\n openSheet({ sheetItems });\n };\n\n return (\n <Box\n flexDirection={'row'}\n paddingVertical={16}\n paddingLeft={16 + safeArea.paddingLeft}\n paddingRight={16 + safeArea.paddingRight}\n >\n <PressBox onPress={onPressPhotoButton} style={styles.coverButton} activeOpacity={0.8}>\n {ifThenOr(\n Boolean(channelCoverFile),\n <Avatar size={72} uri={channelCoverFile?.uri} />,\n <Avatar.Icon size={72} icon={'camera'} />,\n )}\n </PressBox>\n <Box borderBottomColor={colors.onBackground04} style={styles.inputContainer}>\n <TextInput\n placeholder={STRINGS.OPEN_CHANNEL_CREATE.PLACEHOLDER}\n style={[typography.subtitle1, styles.input, { backgroundColor: palette.transparent }]}\n value={channelName}\n onChangeText={onChangeChannelName}\n />\n\n {channelName.length > 0 && (\n <PressBox onPress={() => onChangeChannelName('')} style={styles.removeButtonContainer}>\n <Icon color={colors.onBackground03} size={22} icon={'remove'} />\n </PressBox>\n )}\n </Box>\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n coverButton: {\n marginRight: 20,\n },\n inputContainer: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n borderBottomWidth: 1,\n },\n input: {\n flex: 1,\n paddingVertical: 0,\n paddingHorizontal: 0,\n },\n removeButtonContainer: {\n alignItems: 'flex-end',\n justifyContent: 'center',\n marginLeft: 8,\n },\n});\n\nexport default OpenChannelCreateProfileInput;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_Icon","_uikitUtils","_useContext","_SBUError","_SBUUtils","obj","__esModule","default","OpenChannelCreateProfileInput","_ref","channelName","channelCoverFile","onChangeChannelName","onChangeChannelCoverFile","toast","useToast","openSheet","useBottomSheet","palette","colors","typography","useUIKitTheme","safeArea","useSafeAreaPadding","STRINGS","useLocalization","fileService","usePlatformService","onPressPhotoButton","sheetItems","title","OPEN_CHANNEL_CREATE","DIALOG_IMAGE_MENU_CAMERA","onPress","mediaFile","openCamera","mediaType","onOpenFailure","error","code","SBUError","CODE","ERR_PERMISSIONS_DENIED","alert","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","LABELS","PERMISSION_CAMERA","PERMISSION_APP_NAME","buttons","text","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","show","TOAST","OPEN_CAMERA_ERROR","DIALOG_IMAGE_MENU_PHOTO_LIBRARY","mediaFiles","openMediaLibrary","selectionLimit","PERMISSION_DEVICE_STORAGE","OPEN_PHOTO_LIBRARY_ERROR","unshift","DIALOG_IMAGE_MENU_REMOVE","titleColor","undefined","createElement","Box","flexDirection","paddingVertical","paddingLeft","paddingRight","PressBox","style","styles","coverButton","activeOpacity","ifThenOr","Boolean","Avatar","size","uri","Icon","icon","borderBottomColor","onBackground04","inputContainer","TextInput","placeholder","PLACEHOLDER","subtitle1","input","backgroundColor","transparent","value","onChangeText","length","removeButtonContainer","color","onBackground03","createStyleSheet","marginRight","flex","alignItems","borderBottomWidth","paddingTop","paddingBottom","justifyContent","marginLeft","_default","exports"],"sources":["OpenChannelCreateProfileInput.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Avatar,\n BottomSheetItem,\n Box,\n PressBox,\n TextInput,\n createStyleSheet,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport Icon from '@sendbird/uikit-react-native-foundation/src/components/Icon';\nimport { ifThenOr, useSafeAreaPadding } from '@sendbird/uikit-utils';\n\nimport { useLocalization, usePlatformService } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { OpenChannelCreateProps } from '../types';\n\nconst OpenChannelCreateProfileInput = ({\n channelName,\n channelCoverFile,\n onChangeChannelName,\n onChangeChannelCoverFile,\n}: OpenChannelCreateProps['ProfileInput']) => {\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { palette, colors, typography } = useUIKitTheme();\n const safeArea = useSafeAreaPadding(['left', 'right']);\n\n const { STRINGS } = useLocalization();\n const { fileService } = usePlatformService();\n\n const onPressPhotoButton = () => {\n const sheetItems: BottomSheetItem['sheetItems'] = [\n {\n title: STRINGS.OPEN_CHANNEL_CREATE.DIALOG_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const mediaFile = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_CAMERA,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n\n if (mediaFile) onChangeChannelCoverFile(mediaFile);\n },\n },\n {\n title: STRINGS.OPEN_CHANNEL_CREATE.DIALOG_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const mediaFiles = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (mediaFiles?.[0]) onChangeChannelCoverFile(mediaFiles[0]);\n },\n },\n ];\n\n if (channelCoverFile) {\n sheetItems.unshift({\n title: STRINGS.OPEN_CHANNEL_CREATE.DIALOG_IMAGE_MENU_REMOVE,\n titleColor: colors.error,\n onPress: () => {\n onChangeChannelCoverFile(undefined);\n },\n });\n }\n\n openSheet({ sheetItems });\n };\n\n return (\n <Box\n flexDirection={'row'}\n paddingVertical={16}\n paddingLeft={16 + safeArea.paddingLeft}\n paddingRight={16 + safeArea.paddingRight}\n >\n <PressBox onPress={onPressPhotoButton} style={styles.coverButton} activeOpacity={0.8}>\n {ifThenOr(\n Boolean(channelCoverFile),\n <Avatar size={72} uri={channelCoverFile?.uri} />,\n <Avatar.Icon size={72} icon={'camera'} />,\n )}\n </PressBox>\n <Box borderBottomColor={colors.onBackground04} style={styles.inputContainer}>\n <TextInput\n placeholder={STRINGS.OPEN_CHANNEL_CREATE.PLACEHOLDER}\n style={[typography.subtitle1, styles.input, { backgroundColor: palette.transparent }]}\n value={channelName}\n onChangeText={onChangeChannelName}\n />\n\n {channelName.length > 0 && (\n <PressBox onPress={() => onChangeChannelName('')} style={styles.removeButtonContainer}>\n <Icon color={colors.onBackground03} size={22} icon={'remove'} />\n </PressBox>\n )}\n </Box>\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n coverButton: {\n marginRight: 20,\n },\n inputContainer: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n borderBottomWidth: 1,\n },\n input: {\n flex: 1,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n paddingBottom: 0,\n },\n removeButtonContainer: {\n alignItems: 'flex-end',\n justifyContent: 'center',\n marginLeft: 8,\n },\n});\n\nexport default OpenChannelCreateProfileInput;\n"],"mappings":"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"}
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _message = require("@sendbird/chat/message");
9
- var _uikitChatHooks = require("@sendbird/uikit-chat-hooks");
9
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
+ var _uikitTools = require("@sendbird/uikit-tools");
10
11
  var _uikitUtils = require("@sendbird/uikit-utils");
11
- var _GroupChannelMessageRenderer = _interopRequireDefault(require("../components/GroupChannelMessageRenderer"));
12
+ var _GroupChannelMessageRenderer = _interopRequireWildcard(require("../components/GroupChannelMessageRenderer"));
12
13
  var _NewMessagesButton = _interopRequireDefault(require("../components/NewMessagesButton"));
13
14
  var _ScrollToBottomButton = _interopRequireDefault(require("../components/ScrollToBottomButton"));
14
15
  var _StatusComposition = _interopRequireDefault(require("../components/StatusComposition"));
@@ -64,8 +65,8 @@ const createGroupChannelFragment = initModule => {
64
65
  messages,
65
66
  newMessages,
66
67
  resetNewMessages,
67
- next,
68
- prev,
68
+ loadNext,
69
+ loadPrevious,
69
70
  hasNext,
70
71
  sendFileMessage,
71
72
  sendUserMessage,
@@ -74,7 +75,7 @@ const createGroupChannelFragment = initModule => {
74
75
  resendMessage,
75
76
  deleteMessage,
76
77
  resetWithStartingPoint
77
- } = (0, _uikitChatHooks.useGroupChannelMessages)(sdk, channel, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId, {
78
+ } = (0, _uikitTools.useGroupChannelMessages)(sdk, channel, {
78
79
  shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,
79
80
  onMessagesReceived(messages) {
80
81
  groupChannelPubSub.publish({
@@ -92,12 +93,13 @@ const createGroupChannelFragment = initModule => {
92
93
  }
93
94
  });
94
95
  },
96
+ onChannelDeleted,
97
+ onCurrentUserBanned: onChannelDeleted,
95
98
  collectionCreator,
96
99
  sortComparator,
97
- onChannelDeleted,
100
+ markAsRead: _uikitUtils.confirmAndMarkAsRead,
98
101
  replyType,
99
- startingPoint: internalSearchItem === null || internalSearchItem === void 0 ? void 0 : internalSearchItem.startingPoint,
100
- enableCollectionWithoutLocalCache: true
102
+ startingPoint: internalSearchItem === null || internalSearchItem === void 0 ? void 0 : internalSearchItem.startingPoint
101
103
  });
102
104
  const onBlurFragment = () => {
103
105
  return Promise.allSettled([playerService.reset(), recorderService.reset()]);
@@ -120,8 +122,8 @@ const createGroupChannelFragment = initModule => {
120
122
  };
121
123
  }, []);
122
124
  const renderItem = (0, _uikitUtils.useFreshCallback)(props => {
123
- if (renderMessage) return renderMessage(props);
124
- return /*#__PURE__*/_react.default.createElement(_GroupChannelMessageRenderer.default, props);
125
+ const content = renderMessage ? renderMessage(props) : /*#__PURE__*/_react.default.createElement(_GroupChannelMessageRenderer.default, props);
126
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, null, content, props.isFirstItem && !hasNext() && /*#__PURE__*/_react.default.createElement(_GroupChannelMessageRenderer.GroupChannelTypingIndicatorBubble, null));
125
127
  });
126
128
  const memoizedFlatListProps = (0, _react.useMemo)(() => ({
127
129
  ListEmptyComponent: /*#__PURE__*/_react.default.createElement(GroupChannelModule.StatusEmpty, null),
@@ -130,11 +132,11 @@ const createGroupChannelFragment = initModule => {
130
132
  },
131
133
  ...flatListProps
132
134
  }), [flatListProps]);
133
- const onResetMessageList = (0, _react.useCallback)(callback => {
134
- resetWithStartingPoint(Number.MAX_SAFE_INTEGER, callback);
135
+ const onResetMessageList = (0, _react.useCallback)(async () => {
136
+ return await resetWithStartingPoint(Number.MAX_SAFE_INTEGER);
135
137
  }, []);
136
- const onResetMessageListWithStartingPoint = (0, _react.useCallback)((startingPoint, callback) => {
137
- resetWithStartingPoint(startingPoint, callback);
138
+ const onResetMessageListWithStartingPoint = (0, _react.useCallback)(async startingPoint => {
139
+ return await resetWithStartingPoint(startingPoint);
138
140
  }, []);
139
141
 
140
142
  // Changing the search item will trigger the focus animation on messages.
@@ -206,8 +208,8 @@ const createGroupChannelFragment = initModule => {
206
208
  renderMessage: renderItem,
207
209
  messages: messages,
208
210
  newMessages: newMessages,
209
- onTopReached: prev,
210
- onBottomReached: next,
211
+ onTopReached: loadPrevious,
212
+ onBottomReached: loadNext,
211
213
  hasNext: hasNext,
212
214
  scrolledAwayFromBottom: scrolledAwayFromBottom,
213
215
  onScrolledAwayFromBottom: onScrolledAwayFromBottom,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_message","_uikitChatHooks","_uikitUtils","_GroupChannelMessageRenderer","_interopRequireDefault","_NewMessagesButton","_ScrollToBottomButton","_StatusComposition","_createGroupChannelModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","_ref","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","collectionCreator","sortComparator","messageComparator","flatListProps","playerService","recorderService","usePlatformService","sdk","currentUser","sbOptions","useSendbirdChat","internalSearchItem","setInternalSearchItem","useState","navigateFromMessageSearch","useCallback","Boolean","groupChannelPubSub","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","replyType","useIIFE","uikit","groupChannel","ReplyType","NONE","ONLY_REPLY_TO_CHANNEL","loading","messages","newMessages","resetNewMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelMessages","userId","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","onMessagesUpdated","startingPoint","enableCollectionWithoutLocalCache","onBlurFragment","Promise","allSettled","reset","_onPressHeaderLeft","useFreshCallback","_onPressHeaderRight","_onPressMediaMessage","message","uri","useEffect","renderItem","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","callback","Number","MAX_SAFE_INTEGER","onResetMessageListWithStartingPoint","onUpdateSearchItem","undefined","onPending","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","_default","exports"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ReplyType } from '@sendbird/chat/message';\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n PASS,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n useIIFE,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer from '../components/GroupChannelMessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { usePlatformService, useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { playerService, recorderService } = usePlatformService();\n const { sdk, currentUser, sbOptions } = useSendbirdChat();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const replyType = useIIFE(() => {\n if (sbOptions.uikit.groupChannel.channel.replyType === 'none') return ReplyType.NONE;\n else return ReplyType.ONLY_REPLY_TO_CHANNEL;\n });\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n onMessagesUpdated(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_UPDATED', data: { messages } });\n },\n collectionCreator,\n sortComparator,\n onChannelDeleted,\n replyType,\n startingPoint: internalSearchItem?.startingPoint,\n enableCollectionWithoutLocalCache: true,\n });\n\n const onBlurFragment = () => {\n return Promise.allSettled([playerService.reset(), recorderService.reset()]);\n };\n const _onPressHeaderLeft = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderLeft();\n });\n const _onPressHeaderRight = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderRight();\n });\n const _onPressMediaMessage: NonNullable<GroupChannelProps['MessageList']['onPressMediaMessage']> = useFreshCallback(\n async (message, deleteMessage, uri) => {\n await onBlurFragment();\n onPressMediaMessage(message, deleteMessage, uri);\n },\n );\n\n useEffect(() => {\n return () => {\n onBlurFragment();\n };\n }, []);\n\n const renderItem: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <GroupChannelMessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback((callback?: () => void) => {\n resetWithStartingPoint(Number.MAX_SAFE_INTEGER, callback);\n }, []);\n\n const onResetMessageListWithStartingPoint = useCallback((startingPoint: number, callback?: () => void) => {\n resetWithStartingPoint(startingPoint, callback);\n }, []);\n\n // Changing the search item will trigger the focus animation on messages.\n const onUpdateSearchItem: GroupChannelProps['MessageList']['onUpdateSearchItem'] = useCallback((searchItem) => {\n // Clean up for animation trigger with useEffect\n setInternalSearchItem(undefined);\n setInternalSearchItem(searchItem);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n messages={messages}\n onUpdateSearchItem={onUpdateSearchItem}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={_onPressHeaderLeft}\n onPressHeaderRight={_onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n onResetMessageListWithStartingPoint={onResetMessageListWithStartingPoint}\n onUpdateSearchItem={onUpdateSearchItem}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={_onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_message","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_GroupChannelMessageRenderer","_NewMessagesButton","_interopRequireDefault","_ScrollToBottomButton","_StatusComposition","_createGroupChannelModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","_ref","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","collectionCreator","sortComparator","messageComparator","flatListProps","playerService","recorderService","usePlatformService","sdk","currentUser","sbOptions","useSendbirdChat","internalSearchItem","setInternalSearchItem","useState","navigateFromMessageSearch","useCallback","Boolean","groupChannelPubSub","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","replyType","useIIFE","uikit","groupChannel","ReplyType","NONE","ONLY_REPLY_TO_CHANNEL","loading","messages","newMessages","resetNewMessages","loadNext","loadPrevious","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelMessages","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","onMessagesUpdated","onCurrentUserBanned","markAsRead","confirmAndMarkAsRead","startingPoint","onBlurFragment","Promise","allSettled","reset","_onPressHeaderLeft","useFreshCallback","_onPressHeaderRight","_onPressMediaMessage","message","uri","useEffect","renderItem","content","Box","isFirstItem","GroupChannelTypingIndicatorBubble","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","Number","MAX_SAFE_INTEGER","onResetMessageListWithStartingPoint","onUpdateSearchItem","undefined","onPending","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","userId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","_default","exports"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ReplyType } from '@sendbird/chat/message';\nimport { Box } from '@sendbird/uikit-react-native-foundation';\nimport { useGroupChannelMessages } from '@sendbird/uikit-tools';\nimport {\n NOOP,\n PASS,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUserMessage,\n confirmAndMarkAsRead,\n messageComparator,\n useFreshCallback,\n useIIFE,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer, {\n GroupChannelTypingIndicatorBubble,\n} from '../components/GroupChannelMessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { usePlatformService, useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { playerService, recorderService } = usePlatformService();\n const { sdk, currentUser, sbOptions } = useSendbirdChat();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const replyType = useIIFE(() => {\n if (sbOptions.uikit.groupChannel.channel.replyType === 'none') return ReplyType.NONE;\n else return ReplyType.ONLY_REPLY_TO_CHANNEL;\n });\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n loadNext,\n loadPrevious,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n onMessagesUpdated(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_UPDATED', data: { messages } });\n },\n onChannelDeleted,\n onCurrentUserBanned: onChannelDeleted,\n collectionCreator,\n sortComparator,\n markAsRead: confirmAndMarkAsRead,\n replyType,\n startingPoint: internalSearchItem?.startingPoint,\n });\n\n const onBlurFragment = () => {\n return Promise.allSettled([playerService.reset(), recorderService.reset()]);\n };\n const _onPressHeaderLeft = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderLeft();\n });\n const _onPressHeaderRight = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderRight();\n });\n const _onPressMediaMessage: NonNullable<GroupChannelProps['MessageList']['onPressMediaMessage']> = useFreshCallback(\n async (message, deleteMessage, uri) => {\n await onBlurFragment();\n onPressMediaMessage(message, deleteMessage, uri);\n },\n );\n\n useEffect(() => {\n return () => {\n onBlurFragment();\n };\n }, []);\n\n const renderItem: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n const content = renderMessage ? renderMessage(props) : <GroupChannelMessageRenderer {...props} />;\n return (\n <Box>\n {content}\n {props.isFirstItem && !hasNext() && <GroupChannelTypingIndicatorBubble />}\n </Box>\n );\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback(async () => {\n return await resetWithStartingPoint(Number.MAX_SAFE_INTEGER);\n }, []);\n\n const onResetMessageListWithStartingPoint = useCallback(async (startingPoint: number) => {\n return await resetWithStartingPoint(startingPoint);\n }, []);\n\n // Changing the search item will trigger the focus animation on messages.\n const onUpdateSearchItem: GroupChannelProps['MessageList']['onUpdateSearchItem'] = useCallback((searchItem) => {\n // Clean up for animation trigger with useEffect\n setInternalSearchItem(undefined);\n setInternalSearchItem(searchItem);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n messages={messages}\n onUpdateSearchItem={onUpdateSearchItem}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={_onPressHeaderLeft}\n onPressHeaderRight={_onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n onResetMessageListWithStartingPoint={onResetMessageListWithStartingPoint}\n onUpdateSearchItem={onUpdateSearchItem}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={loadPrevious}\n onBottomReached={loadNext}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={_onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
@@ -483,6 +483,7 @@ Object.defineProperty(exports, "usePushTokenRegistration", {
483
483
  });
484
484
  var _reactNative = require("react-native");
485
485
  var _uikitUtils = require("@sendbird/uikit-utils");
486
+ var _promise = require("./utils/promise");
486
487
  var _ChannelInput = _interopRequireDefault(require("./components/ChannelInput"));
487
488
  var _ChannelMessageList = _interopRequireDefault(require("./components/ChannelMessageList"));
488
489
  var _GroupChannelMessageRenderer = _interopRequireDefault(require("./components/GroupChannelMessageRenderer"));
@@ -969,4 +970,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
969
970
 
970
971
  _uikitUtils.Logger.setLogLevel(__DEV__ ? 'warn' : 'none');
971
972
  _uikitUtils.Logger.setTitle(`[UIKIT_${_reactNative.Platform.OS}]`);
973
+
974
+ // NOTE: In Hermes, not all implementations of Promise are included
975
+ _promise.PromisePolyfill.apply();
972
976
  //# sourceMappingURL=index.js.map