@sendbird/uikit-react-native 2.4.2 → 2.5.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ChannelMessageList/index.js +319 -0
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -0
- package/lib/commonjs/components/ChatFlatList.js +30 -50
- package/lib/commonjs/components/ChatFlatList.js.map +1 -1
- package/lib/commonjs/components/MessageSearchResultItem.js +132 -0
- package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -0
- package/lib/commonjs/components/ScrollToBottomButton.js +1 -1
- package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/constants.js +6 -2
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +2 -2
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +4 -2
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +4 -2
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +4 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +84 -301
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +9 -2
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -4
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +105 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js +40 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js +22 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js +26 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js +22 -0
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/index.js +62 -0
- package/lib/commonjs/domain/messageSearch/index.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js +36 -0
- package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/module/moduleContext.js +25 -0
- package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/messageSearch/types.js +6 -0
- package/lib/commonjs/domain/messageSearch/types.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +38 -279
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/openChannel/module/moduleContext.js +9 -2
- package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannel/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +107 -15
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +2 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createMessageSearchFragment.js +145 -0
- package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelFragment.js +40 -8
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/commonjs/hooks/useMentionSuggestion.js +17 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/commonjs/index.js +60 -40
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +33 -20
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
- package/lib/commonjs/utils/pubsub.js +21 -0
- package/lib/commonjs/utils/pubsub.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelMessageList/index.js +311 -0
- package/lib/module/components/ChannelMessageList/index.js.map +1 -0
- package/lib/module/components/ChatFlatList.js +32 -52
- package/lib/module/components/ChatFlatList.js.map +1 -1
- package/lib/module/components/MessageSearchResultItem.js +124 -0
- package/lib/module/components/MessageSearchResultItem.js.map +1 -0
- package/lib/module/components/ScrollToBottomButton.js +1 -1
- package/lib/module/components/ScrollToBottomButton.js.map +1 -1
- package/lib/module/constants.js +3 -1
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +2 -2
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +4 -2
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +4 -2
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +4 -2
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +88 -305
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -0
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
- package/lib/module/domain/groupChannel/module/moduleContext.js +9 -2
- package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -4
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/messageSearch/component/MessageSearchHeader.js +96 -0
- package/lib/module/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
- package/lib/module/domain/messageSearch/component/MessageSearchList.js +32 -0
- package/lib/module/domain/messageSearch/component/MessageSearchList.js.map +1 -0
- package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js +14 -0
- package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
- package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js +18 -0
- package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
- package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js +14 -0
- package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
- package/lib/module/domain/messageSearch/index.js +8 -0
- package/lib/module/domain/messageSearch/index.js.map +1 -0
- package/lib/module/domain/messageSearch/module/createMessageSearchModule.js +28 -0
- package/lib/module/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
- package/lib/module/domain/messageSearch/module/moduleContext.js +14 -0
- package/lib/module/domain/messageSearch/module/moduleContext.js.map +1 -0
- package/lib/module/domain/messageSearch/types.js +2 -0
- package/lib/module/domain/messageSearch/types.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +40 -281
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
- package/lib/module/domain/openChannel/module/moduleContext.js +9 -2
- package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannel/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +109 -17
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +2 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js +135 -0
- package/lib/module/fragments/createMessageSearchFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelFragment.js +41 -9
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/module/hooks/useMentionSuggestion.js +18 -1
- package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +34 -21
- package/lib/module/localization/createBaseStringSet.js.map +1 -1
- package/lib/module/utils/pubsub.js +14 -0
- package/lib/module/utils/pubsub.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelMessageList/index.d.ts +55 -0
- package/lib/typescript/src/components/ChatFlatList.d.ts +7 -8
- package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -0
- package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -0
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -0
- package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
- package/lib/typescript/src/constants.d.ts +3 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +2 -1
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +3 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +3 -32
- package/lib/typescript/src/domain/groupChannel/types.d.ts +23 -35
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +2 -0
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchHeader.d.ts +3 -0
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchList.d.ts +3 -0
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/messageSearch/index.d.ts +7 -0
- package/lib/typescript/src/domain/messageSearch/module/createMessageSearchModule.d.ts +3 -0
- package/lib/typescript/src/domain/messageSearch/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/messageSearch/types.d.ts +53 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -37
- package/lib/typescript/src/domain/openChannel/types.d.ts +17 -36
- package/lib/typescript/src/fragments/createMessageSearchFragment.d.ts +3 -0
- package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +3 -2
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +17 -3
- package/lib/typescript/src/utils/pubsub.d.ts +6 -0
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +8 -7
- package/src/components/ChannelMessageList/index.tsx +392 -0
- package/src/components/ChatFlatList.tsx +33 -51
- package/src/components/MessageSearchResultItem.tsx +125 -0
- package/src/components/ScrollToBottomButton.tsx +3 -4
- package/src/constants.ts +3 -1
- package/src/containers/GroupChannelPreviewContainer.tsx +2 -2
- package/src/containers/SendbirdUIKitContainer.tsx +2 -0
- package/src/contexts/SendbirdChatCtx.tsx +7 -1
- package/src/domain/groupChannel/component/GroupChannelHeader.tsx +9 -3
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +73 -316
- package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +2 -1
- package/src/domain/groupChannel/module/moduleContext.tsx +10 -2
- package/src/domain/groupChannel/types.ts +49 -38
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +29 -13
- package/src/domain/groupChannelSettings/types.ts +2 -0
- package/src/domain/messageSearch/component/MessageSearchHeader.tsx +98 -0
- package/src/domain/messageSearch/component/MessageSearchList.tsx +26 -0
- package/src/domain/messageSearch/component/MessageSearchStatusEmpty.tsx +15 -0
- package/src/domain/messageSearch/component/MessageSearchStatusError.tsx +16 -0
- package/src/domain/messageSearch/component/MessageSearchStatusLoading.tsx +15 -0
- package/src/domain/messageSearch/index.ts +7 -0
- package/src/domain/messageSearch/module/createMessageSearchModule.tsx +21 -0
- package/src/domain/messageSearch/module/moduleContext.tsx +16 -0
- package/src/domain/messageSearch/types.ts +55 -0
- package/src/domain/openChannel/component/OpenChannelMessageList.tsx +35 -303
- package/src/domain/openChannel/module/moduleContext.tsx +8 -2
- package/src/domain/openChannel/types.ts +40 -38
- package/src/fragments/createGroupChannelFragment.tsx +114 -17
- package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
- package/src/fragments/createMessageSearchFragment.tsx +159 -0
- package/src/fragments/createOpenChannelFragment.tsx +48 -12
- package/src/hooks/useMentionSuggestion.ts +23 -3
- package/src/index.ts +3 -0
- package/src/localization/StringSet.type.ts +20 -2
- package/src/localization/createBaseStringSet.ts +22 -2
- package/src/utils/pubsub.ts +20 -0
- package/src/version.ts +0 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { FlatListProps } from 'react-native';
|
|
3
|
+
import type { SendbirdBaseMessage, SendbirdGroupChannel, SendbirdMessageSearchQuery } from '@sendbird/uikit-utils';
|
|
4
|
+
import type { CommonComponent } from '../../types';
|
|
5
|
+
export type MessageSearchProps = {
|
|
6
|
+
Fragment: {
|
|
7
|
+
channel: SendbirdGroupChannel;
|
|
8
|
+
onPressHeaderLeft: MessageSearchProps['Header']['onPressHeaderLeft'];
|
|
9
|
+
onPressSearchResultItem: MessageSearchProps['List']['onPressSearchResultItem'];
|
|
10
|
+
renderSearchResultItem?: MessageSearchProps['List']['renderSearchResultItem'];
|
|
11
|
+
queryCreator?: () => SendbirdMessageSearchQuery;
|
|
12
|
+
};
|
|
13
|
+
Header: {
|
|
14
|
+
keyword: string;
|
|
15
|
+
onChangeKeyword: (value: string) => void;
|
|
16
|
+
onPressHeaderLeft: () => void;
|
|
17
|
+
onPressHeaderRight: () => void;
|
|
18
|
+
};
|
|
19
|
+
List: {
|
|
20
|
+
channel: SendbirdGroupChannel;
|
|
21
|
+
messages: SendbirdBaseMessage[];
|
|
22
|
+
onPressSearchResultItem: (params: {
|
|
23
|
+
channel: SendbirdGroupChannel;
|
|
24
|
+
message: SendbirdBaseMessage;
|
|
25
|
+
}) => void;
|
|
26
|
+
renderSearchResultItem: (props: {
|
|
27
|
+
channel: SendbirdGroupChannel;
|
|
28
|
+
message: SendbirdBaseMessage;
|
|
29
|
+
onPress: () => void;
|
|
30
|
+
}) => React.ReactElement | null;
|
|
31
|
+
flatListProps?: Partial<FlatListProps<SendbirdBaseMessage>>;
|
|
32
|
+
};
|
|
33
|
+
StatusError: {
|
|
34
|
+
onPressRetry: () => void;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Internal context for MessageSearch
|
|
39
|
+
* For example, the developer can create a custom header
|
|
40
|
+
* with getting data from the domain context
|
|
41
|
+
* */
|
|
42
|
+
export type MessageSearchContextsType = {
|
|
43
|
+
Fragment: React.Context<null>;
|
|
44
|
+
};
|
|
45
|
+
export interface MessageSearchModule {
|
|
46
|
+
Provider: CommonComponent;
|
|
47
|
+
Header: CommonComponent<MessageSearchProps['Header']>;
|
|
48
|
+
List: CommonComponent<MessageSearchProps['List']>;
|
|
49
|
+
StatusEmpty: CommonComponent;
|
|
50
|
+
StatusLoading: CommonComponent;
|
|
51
|
+
StatusError: CommonComponent<MessageSearchProps['StatusError']>;
|
|
52
|
+
}
|
|
53
|
+
export type MessageSearchFragment = CommonComponent<MessageSearchProps['Fragment']>;
|
|
@@ -1,39 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
declare const _default: React.MemoExoticComponent<({ currentUserId, channel, messages, renderMessage, nextMessages, newMessagesFromMembers, onBottomReached, onTopReached, renderNewMessagesButton, renderScrollToBottomButton, onResendFailedMessage, onDeleteMessage, onPressMediaMessage, flatListProps, enableMessageGrouping, }: {
|
|
4
|
-
enableMessageGrouping: boolean;
|
|
5
|
-
currentUserId?: string | undefined;
|
|
6
|
-
channel: import("@sendbird/chat/openChannel").OpenChannel;
|
|
7
|
-
messages: SendbirdMessage[];
|
|
8
|
-
nextMessages: SendbirdMessage[];
|
|
9
|
-
newMessagesFromMembers: SendbirdMessage[];
|
|
10
|
-
onTopReached: () => void;
|
|
11
|
-
onBottomReached: () => void;
|
|
12
|
-
onResendFailedMessage: (failedMessage: import("@sendbird/chat/message").FileMessage | import("@sendbird/chat/message").UserMessage) => Promise<void>;
|
|
13
|
-
onDeleteMessage: (message: import("@sendbird/chat/message").FileMessage | import("@sendbird/chat/message").UserMessage) => Promise<void>;
|
|
14
|
-
onPressMediaMessage?: ((message: import("@sendbird/chat/message").FileMessage, deleteMessage: () => Promise<void>, uri: string) => void) | undefined;
|
|
15
|
-
renderMessage: (props: {
|
|
16
|
-
message: SendbirdMessage;
|
|
17
|
-
prevMessage?: SendbirdMessage | undefined;
|
|
18
|
-
nextMessage?: SendbirdMessage | undefined;
|
|
19
|
-
onPress?: (() => void) | undefined;
|
|
20
|
-
onLongPress?: (() => void) | undefined;
|
|
21
|
-
onPressAvatar?: ((user: import("@sendbird/chat/groupChannel").Member | import("@sendbird/chat").User, options?: {
|
|
22
|
-
hideMessageButton?: boolean | undefined;
|
|
23
|
-
} | undefined) => void) | undefined;
|
|
24
|
-
channel: import("@sendbird/chat/openChannel").OpenChannel;
|
|
25
|
-
currentUserId?: string | undefined;
|
|
26
|
-
enableMessageGrouping: boolean;
|
|
27
|
-
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
|
|
28
|
-
renderNewMessagesButton: import("../../..").CommonComponent<{
|
|
29
|
-
visible: boolean;
|
|
30
|
-
onPress: () => void;
|
|
31
|
-
newMessages: SendbirdMessage[];
|
|
32
|
-
}> | null;
|
|
33
|
-
renderScrollToBottomButton: import("../../..").CommonComponent<{
|
|
34
|
-
visible: boolean;
|
|
35
|
-
onPress: () => void;
|
|
36
|
-
}> | null;
|
|
37
|
-
flatListProps?: Omit<import("react-native").FlatListProps<SendbirdMessage>, "data" | "renderItem"> | undefined;
|
|
38
|
-
}) => JSX.Element>;
|
|
2
|
+
declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/openChannel").OpenChannel>, "channel" | "onTopReached" | "onBottomReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps" | "onPressImageMessage">) => JSX.Element>;
|
|
39
3
|
export default _default;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { FlatListProps } from 'react-native';
|
|
3
2
|
import type { UseOpenChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';
|
|
4
3
|
import type { Icon } from '@sendbird/uikit-react-native-foundation';
|
|
5
4
|
import type { OnBeforeHandler, SendbirdFileMessage, SendbirdFileMessageCreateParams, SendbirdFileMessageUpdateParams, SendbirdMessage, SendbirdOpenChannel, SendbirdUserMessage, SendbirdUserMessageCreateParams, SendbirdUserMessageUpdateParams } from '@sendbird/uikit-utils';
|
|
6
5
|
import type { ChannelInputProps } from '../../components/ChannelInput';
|
|
7
|
-
import type {
|
|
6
|
+
import type { ChannelMessageListProps } from '../../components/ChannelMessageList';
|
|
8
7
|
import type { CommonComponent } from '../../types';
|
|
8
|
+
import type { PubSub } from '../../utils/pubsub';
|
|
9
|
+
import type { GroupChannelPubSubContextPayload } from '../groupChannel/types';
|
|
9
10
|
export type OpenChannelProps = {
|
|
10
11
|
Fragment: {
|
|
11
12
|
channel: SendbirdOpenChannel;
|
|
@@ -32,44 +33,12 @@ export type OpenChannelProps = {
|
|
|
32
33
|
onPressHeaderLeft: () => void;
|
|
33
34
|
onPressHeaderRight: () => void;
|
|
34
35
|
};
|
|
35
|
-
MessageList:
|
|
36
|
-
enableMessageGrouping: boolean;
|
|
37
|
-
currentUserId?: string;
|
|
38
|
-
channel: SendbirdOpenChannel;
|
|
39
|
-
messages: SendbirdMessage[];
|
|
40
|
-
nextMessages: SendbirdMessage[];
|
|
41
|
-
newMessagesFromMembers: SendbirdMessage[];
|
|
42
|
-
onTopReached: () => void;
|
|
43
|
-
onBottomReached: () => void;
|
|
44
|
-
onResendFailedMessage: (failedMessage: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;
|
|
45
|
-
onDeleteMessage: (message: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;
|
|
46
|
-
onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;
|
|
47
|
-
renderMessage: (props: {
|
|
48
|
-
message: SendbirdMessage;
|
|
49
|
-
prevMessage?: SendbirdMessage;
|
|
50
|
-
nextMessage?: SendbirdMessage;
|
|
51
|
-
onPress?: () => void;
|
|
52
|
-
onLongPress?: () => void;
|
|
53
|
-
onPressAvatar?: UserProfileContextType['show'];
|
|
54
|
-
channel: OpenChannelProps['MessageList']['channel'];
|
|
55
|
-
currentUserId?: OpenChannelProps['MessageList']['currentUserId'];
|
|
56
|
-
enableMessageGrouping: OpenChannelProps['MessageList']['enableMessageGrouping'];
|
|
57
|
-
}) => React.ReactElement | null;
|
|
58
|
-
renderNewMessagesButton: null | CommonComponent<{
|
|
59
|
-
visible: boolean;
|
|
60
|
-
onPress: () => void;
|
|
61
|
-
newMessages: SendbirdMessage[];
|
|
62
|
-
}>;
|
|
63
|
-
renderScrollToBottomButton: null | CommonComponent<{
|
|
64
|
-
visible: boolean;
|
|
65
|
-
onPress: () => void;
|
|
66
|
-
}>;
|
|
67
|
-
flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;
|
|
68
|
-
};
|
|
36
|
+
MessageList: Pick<ChannelMessageListProps<SendbirdOpenChannel>, 'enableMessageGrouping' | 'currentUserId' | 'channel' | 'messages' | 'newMessages' | 'scrolledAwayFromBottom' | 'onScrolledAwayFromBottom' | 'onTopReached' | 'onBottomReached' | 'onResendFailedMessage' | 'onDeleteMessage' | 'onPressMediaMessage' | 'renderMessage' | 'renderNewMessagesButton' | 'renderScrollToBottomButton' | 'flatListProps' | 'onPressImageMessage' | 'hasNext'>;
|
|
69
37
|
Input: Pick<ChannelInputProps, 'shouldRenderInput' | 'onPressSendUserMessage' | 'onPressSendFileMessage' | 'onPressUpdateUserMessage' | 'onPressUpdateFileMessage'>;
|
|
70
38
|
Provider: {
|
|
71
39
|
channel: SendbirdOpenChannel;
|
|
72
40
|
keyboardAvoidOffset?: number;
|
|
41
|
+
openChannelPubSub: PubSub<OpenChannelPubSubContextPayload>;
|
|
73
42
|
};
|
|
74
43
|
};
|
|
75
44
|
/**
|
|
@@ -85,6 +54,7 @@ export type OpenChannelContextsType = {
|
|
|
85
54
|
setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;
|
|
86
55
|
keyboardAvoidOffset?: number;
|
|
87
56
|
}>;
|
|
57
|
+
PubSub: React.Context<PubSub<GroupChannelPubSubContextPayload>>;
|
|
88
58
|
};
|
|
89
59
|
export interface OpenChannelModule {
|
|
90
60
|
Provider: CommonComponent<OpenChannelProps['Provider']>;
|
|
@@ -95,3 +65,14 @@ export interface OpenChannelModule {
|
|
|
95
65
|
StatusLoading: CommonComponent;
|
|
96
66
|
}
|
|
97
67
|
export type OpenChannelFragment = CommonComponent<OpenChannelProps['Fragment']>;
|
|
68
|
+
export type OpenChannelPubSubContextPayload = {
|
|
69
|
+
type: 'MESSAGE_SENT_PENDING' | 'MESSAGE_SENT_SUCCESS';
|
|
70
|
+
data: {
|
|
71
|
+
message: SendbirdUserMessage | SendbirdFileMessage;
|
|
72
|
+
};
|
|
73
|
+
} | {
|
|
74
|
+
type: 'MESSAGES_RECEIVED';
|
|
75
|
+
data: {
|
|
76
|
+
messages: SendbirdMessage[];
|
|
77
|
+
};
|
|
78
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { SendbirdGroupChannel, SendbirdUser } from '@sendbird/uikit-utils';
|
|
1
|
+
import type { SendbirdChatSDK, SendbirdGroupChannel, SendbirdUser } from '@sendbird/uikit-utils';
|
|
2
2
|
import type { Range } from '../types';
|
|
3
3
|
declare const useMentionSuggestion: (params: {
|
|
4
4
|
text: string;
|
|
5
5
|
selection: Range;
|
|
6
|
-
channel: SendbirdGroupChannel;
|
|
7
6
|
mentionedUsers: {
|
|
8
7
|
user: SendbirdUser;
|
|
9
8
|
range: Range;
|
|
10
9
|
}[];
|
|
10
|
+
sdk: SendbirdChatSDK;
|
|
11
|
+
channel: SendbirdGroupChannel;
|
|
11
12
|
}) => {
|
|
12
13
|
members: import("@sendbird/chat/groupChannel").Member[];
|
|
13
14
|
reset: () => void;
|
|
@@ -26,6 +26,7 @@ export { default as createGroupChannelRegisterOperatorFragment } from './fragmen
|
|
|
26
26
|
export { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';
|
|
27
27
|
export { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';
|
|
28
28
|
export { default as createGroupChannelNotificationsFragment } from './fragments/createGroupChannelNotificationsFragment';
|
|
29
|
+
export { default as createMessageSearchFragment } from './fragments/createMessageSearchFragment';
|
|
29
30
|
/** Fragments - open channels **/
|
|
30
31
|
export { default as createOpenChannelFragment } from './fragments/createOpenChannelFragment';
|
|
31
32
|
export { default as createOpenChannelParticipantsFragment } from './fragments/createOpenChannelParticipantsFragment';
|
|
@@ -73,6 +74,7 @@ export * from './domain/groupChannelList/types';
|
|
|
73
74
|
export * from './domain/groupChannelNotifications';
|
|
74
75
|
export * from './domain/groupChannelNotifications/types';
|
|
75
76
|
export * from './domain/groupChannelUserList/types';
|
|
77
|
+
export * from './domain/messageSearch/types';
|
|
76
78
|
/** Feature - open channels **/
|
|
77
79
|
export * from './domain/openChannel';
|
|
78
80
|
export * from './domain/openChannel/types';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Locale } from 'date-fns';
|
|
2
|
-
import type { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMember, SendbirdMessage, SendbirdOpenChannel, SendbirdParticipant, SendbirdUser } from '@sendbird/uikit-utils';
|
|
2
|
+
import type { SendbirdBaseMessage, SendbirdFileMessage, SendbirdGroupChannel, SendbirdMember, SendbirdMessage, SendbirdOpenChannel, SendbirdParticipant, SendbirdUser } from '@sendbird/uikit-utils';
|
|
3
3
|
/**
|
|
4
4
|
* StringSet interface
|
|
5
5
|
* Do not configure over 3 depths (for overrides easy)
|
|
@@ -10,7 +10,6 @@ export interface StringSet {
|
|
|
10
10
|
HEADER_TITLE: (channel: SendbirdOpenChannel) => string;
|
|
11
11
|
HEADER_SUBTITLE: (channel: SendbirdOpenChannel) => string;
|
|
12
12
|
/** OpenChannel > List */
|
|
13
|
-
LIST_BANNER_FROZEN: string;
|
|
14
13
|
LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;
|
|
15
14
|
/** OpenChannel > Message bubble */
|
|
16
15
|
MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;
|
|
@@ -18,6 +17,8 @@ export interface StringSet {
|
|
|
18
17
|
MESSAGE_BUBBLE_EDITED_POSTFIX: string;
|
|
19
18
|
MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;
|
|
20
19
|
MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;
|
|
20
|
+
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
21
|
+
LIST_BANNER_FROZEN: string;
|
|
21
22
|
};
|
|
22
23
|
OPEN_CHANNEL_PARTICIPANTS: {
|
|
23
24
|
/** OpenChannelParticipants > Header */
|
|
@@ -95,7 +96,6 @@ export interface StringSet {
|
|
|
95
96
|
/** GroupChannel > Header */
|
|
96
97
|
HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;
|
|
97
98
|
/** GroupChannel > List */
|
|
98
|
-
LIST_BANNER_FROZEN: string;
|
|
99
99
|
LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;
|
|
100
100
|
LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;
|
|
101
101
|
/** GroupChannel > Message bubble */
|
|
@@ -106,6 +106,8 @@ export interface StringSet {
|
|
|
106
106
|
MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;
|
|
107
107
|
/** GroupChannel > Suggested mention list */
|
|
108
108
|
MENTION_LIMITED: (mentionLimit: number) => string;
|
|
109
|
+
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
110
|
+
LIST_BANNER_FROZEN: string;
|
|
109
111
|
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/
|
|
110
112
|
DIALOG_MESSAGE_COPY: string;
|
|
111
113
|
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/
|
|
@@ -148,6 +150,7 @@ export interface StringSet {
|
|
|
148
150
|
/** GroupChannelSettings > Menu */
|
|
149
151
|
MENU_MODERATION: string;
|
|
150
152
|
MENU_MEMBERS: string;
|
|
153
|
+
MENU_SEARCH: string;
|
|
151
154
|
MENU_LEAVE_CHANNEL: string;
|
|
152
155
|
MENU_NOTIFICATION: string;
|
|
153
156
|
MENU_NOTIFICATION_LABEL_ON: string;
|
|
@@ -241,6 +244,15 @@ export interface StringSet {
|
|
|
241
244
|
selectedUsers: Array<T>;
|
|
242
245
|
}) => string;
|
|
243
246
|
};
|
|
247
|
+
MESSAGE_SEARCH: {
|
|
248
|
+
/** MessageSearch > Header */
|
|
249
|
+
HEADER_INPUT_PLACEHOLDER: string;
|
|
250
|
+
HEADER_RIGHT: string;
|
|
251
|
+
/** MessageSearch > Search result item */
|
|
252
|
+
SEARCH_RESULT_ITEM_TITLE: (message: SendbirdBaseMessage) => string;
|
|
253
|
+
SEARCH_RESULT_ITEM_TITLE_CAPTION: (message: SendbirdBaseMessage, locale?: Locale) => string;
|
|
254
|
+
SEARCH_RESULT_ITEM_BODY: (message: SendbirdBaseMessage) => string;
|
|
255
|
+
};
|
|
244
256
|
LABELS: {
|
|
245
257
|
PERMISSION_APP_NAME: string;
|
|
246
258
|
PERMISSION_CAMERA: string;
|
|
@@ -256,6 +268,8 @@ export interface StringSet {
|
|
|
256
268
|
UNMUTE: string;
|
|
257
269
|
BAN: string;
|
|
258
270
|
UNBAN: string;
|
|
271
|
+
/** ChannelMessageList **/
|
|
272
|
+
CHANNEL_MESSAGE_LIST_FROZEN: string;
|
|
259
273
|
/** ChannelInput **/
|
|
260
274
|
CHANNEL_INPUT_PLACEHOLDER_ACTIVE: string;
|
|
261
275
|
CHANNEL_INPUT_PLACEHOLDER_DISABLED: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const VERSION = "2.
|
|
1
|
+
declare const VERSION = "2.5.0-rc.0";
|
|
2
2
|
export default VERSION;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendbird/uikit-react-native",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0-rc.0",
|
|
4
4
|
"description": "Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sendbird",
|
|
@@ -56,17 +56,18 @@
|
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@sendbird/uikit-chat-hooks": "2.
|
|
60
|
-
"@sendbird/uikit-react-native-foundation": "2.
|
|
61
|
-
"@sendbird/uikit-utils": "2.
|
|
59
|
+
"@sendbird/uikit-chat-hooks": "2.5.0-rc.0",
|
|
60
|
+
"@sendbird/uikit-react-native-foundation": "2.5.0-rc.0",
|
|
61
|
+
"@sendbird/uikit-utils": "2.5.0-rc.0"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@bam.tech/react-native-image-resizer": "^3.0.4",
|
|
65
|
-
"@react-native-camera-roll/camera-roll": "^5.0
|
|
65
|
+
"@react-native-camera-roll/camera-roll": "^5.4.0",
|
|
66
66
|
"@react-native-clipboard/clipboard": "^1.8.5",
|
|
67
67
|
"@react-native-community/netinfo": "^9.3.0",
|
|
68
68
|
"@react-native-firebase/app": "^14.4.0",
|
|
69
69
|
"@react-native-firebase/messaging": "^14.4.0",
|
|
70
|
+
"@sendbird/react-native-scrollview-enhancer": "^0.1.0-beta.3",
|
|
70
71
|
"@types/react": "*",
|
|
71
72
|
"@types/react-native": "*",
|
|
72
73
|
"@types/react-native-video": "^5.0.14",
|
|
@@ -102,6 +103,7 @@
|
|
|
102
103
|
"@react-native-community/netinfo": ">=9.3.0",
|
|
103
104
|
"@react-native-firebase/messaging": ">=14.4.0",
|
|
104
105
|
"@sendbird/chat": "^4.3.0",
|
|
106
|
+
"@sendbird/react-native-scrollview-enhancer": "*",
|
|
105
107
|
"date-fns": ">=2.28.0",
|
|
106
108
|
"expo-av": ">=12.0.4",
|
|
107
109
|
"expo-clipboard": ">=2.1.1",
|
|
@@ -195,6 +197,5 @@
|
|
|
195
197
|
"entryPoint": "./src/index.ts",
|
|
196
198
|
"readmeFile": "./README.md",
|
|
197
199
|
"displayName": "@sendbird/uikit-react-native"
|
|
198
|
-
}
|
|
199
|
-
"gitHead": "ae9e60edc60cdd4f6e9b0e4019e84584e807bc2c"
|
|
200
|
+
}
|
|
200
201
|
}
|