Skip to content
This repository was archived by the owner on Aug 30, 2022. It is now read-only.

Commit 17614aa

Browse files
author
Sravan S
committed
Release candidate 2 - 1.3.0
1 parent 00f393f commit 17614aa

File tree

5 files changed

+288
-307
lines changed

5 files changed

+288
-307
lines changed

dist/index.d.ts

Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
/**
2+
* Type Definitions for SendbirdUIKit 1.3.0-rc.2
3+
* homepage: https://sendbird.com/
4+
* git: https://github.com/sendbird/SendBird-UIKIT-JavaScript
5+
*/
6+
7+
export = SendbirdUIKit;
8+
export as namespace SendbirdUIKit;
9+
10+
declare namespace SendbirdUIKit {
11+
interface SendbirdTypes {
12+
GroupChannel: import('sendbird').GroupChannel;
13+
GroupChannelParams: import('sendbird').GroupChannelParams;
14+
BaseChannel: import('sendbird').BaseChannel;
15+
Member: import('sendbird').Member;
16+
User: import('sendbird').User;
17+
UserMessageParams: import('sendbird').UserMessageParams;
18+
FileMessageParams: import('sendbird').FileMessageParams;
19+
SendBirdInstance: import('sendbird').SendBirdInstance;
20+
UserListQuery: import('sendbird').UserListQuery;
21+
BaseMessageInstance: import('sendbird').BaseMessageInstance;
22+
UserMessage: import('sendbird').UserMessage;
23+
FileMessage: import('sendbird').FileMessage;
24+
EmojiCategory: import('sendbird').EmojiCategory;
25+
SendBirdError: import('sendbird').SendBirdError;
26+
}
27+
// to be used with Conversation.renderMessageInput
28+
interface RenderMessageInputProps {
29+
channel: SendbirdTypes["GroupChannel"];
30+
user: SendbirdTypes["User"];
31+
disabled: boolean;
32+
}
33+
interface SendBirdStateConfig {
34+
disableUserProfile: boolean;
35+
renderUserProfile(props: RenderUserProfileProps): React.ReactNode;
36+
allowProfileEdit: boolean;
37+
isOnline: boolean;
38+
userId: string;
39+
appId: string;
40+
accessToken: string;
41+
theme: string;
42+
setCurrenttheme: (theme: string) => void;
43+
userListQuery?(): UserListQuery;
44+
}
45+
interface SdkStore {
46+
error: boolean;
47+
initialized: boolean;
48+
loading: boolean;
49+
sdk: SendbirdTypes['SendBirdInstance'];
50+
}
51+
interface UserStore {
52+
initialized: boolean;
53+
loading: boolean;
54+
user: SendbirdTypes['User'];
55+
}
56+
interface SendBirdStateStore {
57+
sdkStore: SdkStore;
58+
userStore: UserStore;
59+
}
60+
interface SendBirdState {
61+
config: SendBirdStateConfig;
62+
store: SendBirdStateStore;
63+
}
64+
interface RenderUserProfileProps {
65+
user: SendbirdTypes['Member'] | SendbirdTypes['User'];
66+
currentUserId: string;
67+
close(): void;
68+
}
69+
interface UserListQuery {
70+
hasNext?: boolean;
71+
next(callback: unknown): void;
72+
}
73+
interface SendBirdProviderConfig {
74+
logLevel?: 'debug' | 'warning' | 'error' | 'info' | 'all' | [string];
75+
}
76+
interface RenderChannelProfileProps {
77+
channel: SendbirdTypes['GroupChannel'];
78+
}
79+
interface RenderUserProfileProps {
80+
user: SendbirdTypes['User' | 'Member'];
81+
currentUserId: string;
82+
close(): void;
83+
}
84+
interface ApplicationUserListQuery {
85+
limit?: number;
86+
userIdsFilter?: [string];
87+
metaDataKeyFilter?: string;
88+
metaDataValuesFilter?: [string];
89+
}
90+
interface ChannelSettingsQueries {
91+
applicationUserListQuery?: ApplicationUserListQuery;
92+
}
93+
interface GroupChannelListQuery {
94+
limit?: number;
95+
includeEmpty?: boolean;
96+
order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';
97+
userIdsExactFilter?: [string];
98+
userIdsIncludeFilter?: [string];
99+
userIdsIncludeFilterQueryType?: 'AND' | 'OR';
100+
nicknameContainsFilter?: string;
101+
channelNameContainsFilter?: string;
102+
customTypesFilter?: [string];
103+
customTypeStartsWithFilter?: string;
104+
channelUrlsFilter?: [string];
105+
superChannelFilter?: 'all' | 'super' | 'nonsuper';
106+
publicChannelFilter?: 'all' | 'public' | 'private';
107+
metadataOrderKeyFilter?: string;
108+
memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';
109+
hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';
110+
unreadChannelFilter?: 'all' | 'unread_message';
111+
includeFrozen?: boolean;
112+
}
113+
interface MessageListParams {
114+
prevResultSize?: number;
115+
nextResultSize?: number;
116+
isInclusive?: boolean;
117+
shouldReverse?: boolean;
118+
messageType?: string;
119+
customType?: string;
120+
senderUserIds?: [string];
121+
includeMetaArray?: boolean;
122+
includeReactions?: boolean;
123+
includeReplies?: boolean;
124+
includeParentMessageText?: boolean;
125+
includeThreadInfo?: boolean;
126+
}
127+
interface ChannelListQueries {
128+
applicationUserListQuery?: ApplicationUserListQuery;
129+
channelListQuery?: GroupChannelListQuery;
130+
}
131+
interface ChannelQueries {
132+
messageListParams?: MessageListParams;
133+
}
134+
interface RenderChannelPreviewProps {
135+
channel: SendbirdTypes['GroupChannel'];
136+
onLeaveChannel(
137+
channel: SendbirdTypes['GroupChannel'],
138+
onLeaveChannelCb?: (c: SendbirdTypes['GroupChannel']) => void,
139+
);
140+
}
141+
interface EmojiContainer {
142+
emojiCategories: Array<SendbirdTypes['EmojiCategory']>;
143+
emojiHash: string;
144+
}
145+
interface RenderChatItemProps {
146+
message: SendbirdTypes['BaseMessageInstance'];
147+
channel: SendbirdTypes['GroupChannel'];
148+
onDeleteMessage(
149+
message: SendbirdTypes['BaseMessageInstance'],
150+
onDeleteCb: () => void,
151+
);
152+
onUpdateMessage(
153+
messageId: string,
154+
text: string,
155+
onUpdateCb: (
156+
err: SendbirdTypes['SendBirdError'],
157+
message: SendbirdTypes['UserMessage']
158+
) => void,
159+
);
160+
onResendMessage: (failedMessage: SendbirdTypes['BaseMessageInstance']) => void;
161+
emojiContainer: EmojiContainer;
162+
}
163+
interface RenderMessageInputProps {
164+
channel: SendbirdTypes['GroupChannel'];
165+
user: SendbirdTypes['User'];
166+
disabled: boolean;
167+
}
168+
interface RenderChatHeaderProps {
169+
channel: SendbirdTypes['GroupChannel'];
170+
user: SendbirdTypes['User'];
171+
}
172+
interface SendBirdProvider {
173+
userId: string;
174+
appId: string;
175+
accessToken?: string;
176+
children?: React.ReactNode;
177+
theme?: 'light' | 'dark';
178+
nickname?: string;
179+
profileUrl?: string;
180+
disableUserProfile?: boolean;
181+
renderUserProfile?(props: RenderUserProfileProps): React.ReactNode;
182+
allowProfileEdit?: boolean;
183+
userListQuery?(): UserListQuery;
184+
config?: SendBirdProviderConfig;
185+
colorSet?: Record<string, string>;
186+
}
187+
interface App {
188+
appId: string;
189+
userId: string;
190+
accessToken?: string;
191+
theme?: string;
192+
userListQuery?(): UserListQuery;
193+
nickname?: string;
194+
profileUrl?: string;
195+
allowProfileEdit?: boolean;
196+
disableUserProfile?: boolean;
197+
renderUserProfile?(props: RenderUserProfileProps): React.ReactNode;
198+
onProfileEditSuccess?(user: SendbirdTypes['User']): void;
199+
config?: SendBirdProviderConfig;
200+
useReaction?: boolean;
201+
useMessageGrouping?: boolean;
202+
}
203+
interface ChannelSettings {
204+
channelUrl: string;
205+
disableUserProfile?: boolean;
206+
onCloseClick?(): void;
207+
onChannelModified?(channel: SendbirdTypes['GroupChannel']): void;
208+
onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): SendbirdTypes['GroupChannelParams'];
209+
renderChannelProfile?(props: RenderChannelProfileProps): React.ReactNode;
210+
renderUserProfile?(props: RenderUserProfileProps): React.ReactNode;
211+
queries?: ChannelSettingsQueries;
212+
}
213+
interface ChannelList {
214+
disableUserProfile?: boolean;
215+
allowProfileEdit?: boolean;
216+
onBeforeCreateChannel?(users: [string]): SendbirdTypes['GroupChannelParams'];
217+
onThemeChange?(theme: string): void;
218+
onProfileEditSuccess?(user: SendbirdTypes['User']): void;
219+
onChannelSelect?(channel: SendbirdTypes['GroupChannel']): void;
220+
renderChannelPreview?(props: RenderChannelPreviewProps): React.ReactNode;
221+
renderUserProfile?(props: RenderUserProfileProps): React.ReactNode;
222+
renderHeader?(props: void): React.ReactNode;
223+
queries?: ChannelListQueries;
224+
}
225+
interface Channel {
226+
channelUrl: string;
227+
disableUserProfile?: boolean,
228+
useMessageGrouping?: boolean,
229+
useReaction?: boolean,
230+
onBeforeSendUserMessage?(text: string): SendbirdTypes['UserMessageParams'];
231+
onBeforeSendFileMessage?(file: File): SendbirdTypes['FileMessageParams'];
232+
onBeforeUpdateUserMessage?(text: string): SendbirdTypes['UserMessageParams'];
233+
onChatHeaderActionClick?(event: React.MouseEvent<HTMLElement>): void;
234+
renderChatItem?(props: RenderChatItemProps): React.ReactNode;
235+
renderMessageInput?(props: RenderMessageInputProps): React.ReactNode;
236+
renderChatHeader?(props: RenderChatHeaderProps): React.ReactNode;
237+
renderUserProfile?(props: RenderUserProfileProps): React.ReactNode;
238+
queries?: ChannelQueries;
239+
}
240+
function withSendBird(
241+
ChildComp: React.Component,
242+
mapStoreToProps?: (store: SendBirdState) => unknown
243+
): React.ReactNode;
244+
interface sendBirdSelectors {
245+
getSdk: (store: SendBirdState) => SendbirdTypes['SendBirdInstance'];
246+
getConnect: (store: SendBirdState)
247+
=> (userId: string, accessToken?: string)
248+
=> Promise<SendbirdTypes['User']>;
249+
getDisconnect: (store: SendBirdState) => () => Promise<void>;
250+
getUpdateUserInfo: (store: SendBirdState)
251+
=> (nickName: string, profileUrl?: string)
252+
=> Promise<SendbirdTypes['User']>;
253+
getSendUserMessage: (store: SendBirdState)
254+
=> (channelUrl: string, userMessageParams: SendbirdTypes['UserMessageParams'])
255+
=> Promise<SendbirdTypes['UserMessage']>; // promise chain here
256+
getSendFileMessage: (store: SendBirdState)
257+
=> (channelUrl: string, fileMessageParams: SendbirdTypes['FileMessageParams'])
258+
=> Promise<SendbirdTypes['FileMessage']>; // promise chain here
259+
getUpdateUserMessage: (store: SendBirdState)
260+
=> (channelUrl: string, messageId: string, params: SendbirdTypes['UserMessageParams'])
261+
=> Promise<SendbirdTypes['UserMessage']>;
262+
getDeleteMessage: (store: SendBirdState)
263+
=> (channelUrl: string, message: SendbirdTypes['BaseMessageInstance'])
264+
=> Promise<void>;
265+
getResendUserMessage: (store: SendBirdState)
266+
=> (channelUrl: string, failedMessage: SendbirdTypes['UserMessage'])
267+
=> Promise<SendbirdTypes['UserMessage']>;
268+
getResendFileMessage: (store: SendBirdState)
269+
=> (channelUrl: string, failedMessage: SendbirdTypes['FileMessage'])
270+
=> Promise<SendbirdTypes['FileMessage']>;
271+
getFreezeChannel: (store: SendBirdState)
272+
=> (channelUrl: string)
273+
=> Promise<SendbirdTypes['GroupChannel']>;
274+
getUnFreezeChannel: (store: SendBirdState)
275+
=> (channelUrl: string)
276+
=> Promise<SendbirdTypes['GroupChannel']>;
277+
getCreateChannel: (store: SendBirdState)
278+
=> (channelParams: SendbirdTypes['GroupChannelParams'])
279+
=> Promise<SendbirdTypes['GroupChannel']>;
280+
getLeaveChannel: (store: SendBirdState)
281+
=> (channelUrl: string)
282+
=> Promise<SendbirdTypes['GroupChannel']>;
283+
}
284+
}
285+

0 commit comments

Comments
 (0)