@amityco/ulta-ui-kit 1.1.2 → 4.0.0-alpha.1

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/dist/index.d.mts CHANGED
@@ -1,44 +1,322 @@
1
1
  import React, { ReactNode, RefObject } from 'react';
2
- import { PostContentType } from '@amityco/ts-sdk';
3
2
  import * as styled_components_dist_types from 'styled-components/dist/types';
4
3
  import * as styled_components from 'styled-components';
5
4
 
6
- type CustomComponentName = 'Avatar' | 'CategoryHeader' | 'CategorySelector' | 'Chat' | 'ChatDetails' | 'ChatHeader' | 'ChatItem' | 'Comment' | 'CommentComposerBar' | 'CommentLikeButton' | 'CommunityCreatedModel' | 'CommunityCreationModal' | 'CommunityForm' | 'CommunityItem' | 'CommunityMembers' | 'CommunityName' | 'CommunityPermissions' | 'EmptyFeed' | 'EngagementBar' | 'Feed' | 'FeedHeaderTabs' | 'File' | 'Image' | 'ImageGallery' | 'Images' | 'Layout' | 'MediaGallery' | 'MenuTab' | 'Message' | 'MessageComposerBar' | 'MessageList' | 'NickNameCreationModal' | 'Post' | 'PostLikeButton' | 'PostTargetSelector' | 'ProfileSettings' | 'ProfileSettingsTabs' | 'RecentChat' | 'SideNavBar' | 'SocialSearch' | 'Tabs' | 'UICategoryCard' | 'UICommunityCard' | 'UICommunityHeader' | 'UICommunityInfo' | 'UIEngagementBar' | 'UIPostHeader' | 'UITextContent' | 'UITrendingItem' | 'UIUserInfo' | 'UserChip' | 'UserHeader' | 'UserSelector';
7
- type CustomComponentType = Partial<Record<CustomComponentName, <TProps>(props: TProps) => React.ReactElement<TProps>>>;
5
+ type AmityReactionType = {
6
+ name: string;
7
+ image: string;
8
+ };
8
9
 
9
- type PostRendererProps = {
10
- childrenPosts?: Amity.Post[];
11
- className?: string;
12
- currentUserId?: string;
13
- handleDeletePost?: (postId: string) => void;
14
- handleReportPost?: () => void;
15
- handleUnreportPost?: () => void;
16
- handleApprovePost?: () => void;
17
- handleDeclinePost?: () => void;
18
- handleClosePoll?: () => void;
19
- handleUpdatePost?: (post: Amity.Post) => void;
20
- poll?: Amity.Poll | null;
21
- isPollClosed?: boolean;
22
- hidePostTarget?: boolean;
23
- isFlaggedByMe?: boolean;
24
- readonly?: boolean;
25
- post?: Amity.Post;
26
- user?: Amity.User | null;
27
- userRoles?: string[];
28
- loading?: boolean;
29
- avatarFileUrl?: string;
10
+ type ThemeValue = {
11
+ primary_color: string;
12
+ secondary_color: string;
13
+ secondary_shade1_color: string;
14
+ secondary_shade2_color: string;
15
+ secondary_shade3_color: string;
16
+ secondary_shade4_color: string;
17
+ base_color: string;
18
+ base_shade1_color: string;
19
+ base_shade2_color: string;
20
+ base_shade3_color: string;
21
+ base_shade4_color: string;
22
+ base_shade5_color: string;
23
+ alert_color: string;
24
+ background_color: string;
25
+ base_inverse_color: string;
26
+ };
27
+ type Theme = {
28
+ light: ThemeValue;
29
+ dark: ThemeValue;
30
+ };
31
+ type ThemeConfiguration = {
32
+ preferred_theme?: 'light' | 'dark' | 'default';
33
+ theme?: {
34
+ light?: Partial<Theme['light']>;
35
+ dark?: Partial<Theme['dark']>;
36
+ };
37
+ };
38
+ interface Config {
39
+ preferred_theme?: 'light' | 'dark' | 'default';
40
+ theme?: {
41
+ light?: Theme['light'];
42
+ dark?: Theme['dark'];
43
+ };
44
+ excludes?: string[];
45
+ message_reactions?: AmityReactionType[];
46
+ customizations?: {
47
+ [key: string]: IconConfiguration & TextConfiguration & ThemeConfiguration & CustomConfiguration;
48
+ };
49
+ }
50
+ type IconConfiguration = {
51
+ icon?: string;
52
+ image?: string;
53
+ };
54
+ type TextConfiguration = {
55
+ text?: string;
56
+ };
57
+ type CustomConfiguration = {
58
+ [key: string]: string | undefined | boolean | Array<string> | number | Record<string, unknown>;
59
+ };
60
+
61
+ declare enum AmityPostContentComponentStyle {
62
+ FEED = "feed",
63
+ DETAIL = "detail"
64
+ }
65
+ declare enum AmityPostCategory {
66
+ GENERAL = "general",
67
+ ANNOUNCEMENT = "announcement",
68
+ PIN = "pin",
69
+ PIN_AND_ANNOUNCEMENT = "pin_and_announcement"
70
+ }
71
+ interface PostContentProps {
72
+ post: Amity.Post;
73
+ onClick?: () => void;
74
+ onPostDeleted?: (post: Amity.Post) => void;
75
+ style: AmityPostContentComponentStyle;
76
+ category: AmityPostCategory;
77
+ hideMenu?: boolean;
78
+ hideTarget?: boolean;
79
+ pageId?: string;
80
+ }
81
+ declare const PostContent: ({ pageId, post: initialPost, onClick, onPostDeleted, category, hideMenu, hideTarget, style, }: PostContentProps) => React.JSX.Element;
82
+
83
+ type MemberCommunitySetup = {
84
+ userId: string;
85
+ displayName: string;
30
86
  };
31
- type PostRendererConfigType = Record<ValueOf<typeof PostContentType> | string, (props: PostRendererProps) => ReactNode>;
87
+ declare enum AmityCommunitySetupPageMode {
88
+ CREATE = "create",
89
+ EDIT = "edit"
90
+ }
91
+
92
+ declare enum Mode {
93
+ CREATE = "create",
94
+ EDIT = "edit"
95
+ }
96
+ interface AmityPostComposerEditOptions {
97
+ mode: Mode.EDIT;
98
+ post: Amity.Post;
99
+ }
100
+ interface AmityPostComposerCreateOptions {
101
+ mode: Mode.CREATE;
102
+ targetId: string | null;
103
+ targetType: 'community' | 'user';
104
+ community?: Amity.Community;
105
+ }
106
+ type PostComposerPageProps = AmityPostComposerCreateOptions | AmityPostComposerEditOptions;
107
+ declare function PostComposerPage(props: PostComposerPageProps): React.JSX.Element;
108
+
109
+ declare const enum UserRelationshipPageTabs {
110
+ FOLLOWING = "following",
111
+ FOLLOWER = "followers"
112
+ }
113
+
114
+ interface PageBehavior {
115
+ AmityStoryViewPageBehavior?: {
116
+ onCloseAction?(): void;
117
+ hyperLinkAction?(context: Record<string, unknown>): void;
118
+ };
119
+ AmityDraftStoryPageBehavior?: {
120
+ closeAction?(): void;
121
+ };
122
+ onClickHyperLink?(): void;
123
+ AmitySocialHomePageBehavior?: Record<string, unknown>;
124
+ AmityGlobalFeedComponentBehavior?: {
125
+ goToPostDetailPage?: (context: {
126
+ postId: string;
127
+ }) => void;
128
+ goToViewStoryPage?: (context: {
129
+ targetId: string;
130
+ targetType: Amity.StoryTargetType;
131
+ storyType: 'communityFeed' | 'globalFeed';
132
+ targetIds?: string[];
133
+ }) => void;
134
+ goToCreateCommunityPage?(context: {
135
+ mode: AmityCommunitySetupPageMode;
136
+ }): void;
137
+ };
138
+ AmityPostDetailPageBehavior?: Record<string, unknown>;
139
+ AmityPostContentComponentBehavior?: {
140
+ goToCommunityProfilePage?: (context: {
141
+ communityId: string;
142
+ }) => void;
143
+ goToUserProfilePage?: (context: {
144
+ userId: string;
145
+ }) => void;
146
+ goToPostComposerPage?: (context: {
147
+ mode: Mode.EDIT;
148
+ post: Amity.Post;
149
+ }) => void;
150
+ };
151
+ AmitySocialGlobalSearchPageBehavior?: Record<string, unknown>;
152
+ AmityCommunitySearchResultComponentBehavior?: {
153
+ goToCommunityProfilePage?: (context: {
154
+ communityId: string;
155
+ }) => void;
156
+ };
157
+ AmityUserSearchResultComponentBehavior?: {
158
+ goToUserProfilePage?: (context: {
159
+ userId: string;
160
+ }) => void;
161
+ };
162
+ AmityCreatePostMenuComponentBehavior?: {
163
+ goToSelectPostTargetPage?(): void;
164
+ goToStoryTargetSelectionPage?(): void;
165
+ };
166
+ AmityPostTargetSelectionPage?: {
167
+ goToPostComposerPage?: (context: {
168
+ mode: Mode.CREATE;
169
+ targetId: string | null;
170
+ targetType: 'community' | 'user';
171
+ community?: Amity.Community;
172
+ }) => void;
173
+ };
174
+ AmityStoryTargetSelectionPage?: {
175
+ goToStoryCreationPage?(context: {
176
+ targetId: string | null;
177
+ targetType: Amity.StoryTargetType;
178
+ mediaType: {
179
+ type: 'image';
180
+ url: string;
181
+ } | {
182
+ type: 'video';
183
+ url: string;
184
+ };
185
+ storyType: 'communityFeed' | 'globalFeed';
186
+ }): void;
187
+ };
188
+ AmityPostComposerPageBehavior?: {
189
+ goToSocialHomePage?(): void;
190
+ };
191
+ AmityCommunityProfilePageBehavior?: {
192
+ goToPostComposerPage?(context: {
193
+ mode: Mode.CREATE | Mode.EDIT;
194
+ targetId: string | null;
195
+ targetType: 'community' | 'user';
196
+ community?: Amity.Community;
197
+ post?: Amity.Post;
198
+ }): void;
199
+ goToPostDetailPage?(context: {
200
+ postId: string;
201
+ hideTarget?: boolean;
202
+ category?: AmityPostCategory;
203
+ }): void;
204
+ goToStoryCreationPage?(context: {
205
+ targetId: string | null;
206
+ targetType: Amity.StoryTargetType;
207
+ mediaType: {
208
+ type: 'image';
209
+ url: string;
210
+ } | {
211
+ type: 'video';
212
+ url: string;
213
+ };
214
+ storyType: 'communityFeed' | 'globalFeed';
215
+ }): void;
216
+ goToCommunitySettingPage?(context: {
217
+ community: Amity.Community;
218
+ }): void;
219
+ goToEditCommunityPage?(context: {
220
+ mode: AmityCommunitySetupPageMode;
221
+ community: Amity.Community;
222
+ }): void;
223
+ goToPendingPostPage?(context: {
224
+ communityId: string;
225
+ }): void;
226
+ goToMembershipPage?(context: {
227
+ community: Amity.Community;
228
+ }): void;
229
+ };
230
+ AmitySocialHomeTopNavigationComponentBehavior?: {
231
+ goToCreateCommunityPage?(context: {
232
+ mode: AmityCommunitySetupPageMode;
233
+ }): void;
234
+ };
235
+ AmityCommunitySetupPageBehavior?: {
236
+ goToAddCategoryPage?(context: {
237
+ categories?: Amity.Category[];
238
+ }): void;
239
+ goToAddMemberPage?(context: {
240
+ members?: MemberCommunitySetup[];
241
+ communityId?: string;
242
+ onAddedAction?: (userId: string[]) => void;
243
+ }): void;
244
+ };
245
+ AmityCommunitySettingPageBehavior?: {
246
+ goToEditCommunityPage?(context: {
247
+ mode: AmityCommunitySetupPageMode;
248
+ community: Amity.Community;
249
+ }): void;
250
+ goToMembershipPage?(context: {
251
+ community: Amity.Community;
252
+ }): void;
253
+ goToPostPermissionPage?(context: {
254
+ community: Amity.Community;
255
+ }): void;
256
+ goToStorySettingPage?(context: {
257
+ community: Amity.Community;
258
+ }): void;
259
+ goToSocialHomePage?(): void;
260
+ };
261
+ AmityCommunityMembershipPage?: {
262
+ goToAddMemberPage?(context: {
263
+ members?: MemberCommunitySetup[];
264
+ communityId?: string;
265
+ onAddedAction?: (userId: string[]) => void;
266
+ }): void;
267
+ goToUserProfilePage?: (context: {
268
+ userId: string;
269
+ }) => void;
270
+ };
271
+ AmityUserFeedComponentBehavior?: {
272
+ goToPostDetailPage?(context: {
273
+ postId: string;
274
+ }): void;
275
+ };
276
+ AmityUserProfilePageBehavior?: {
277
+ goToEditUserPage?(context: {
278
+ userId: string;
279
+ }): void;
280
+ goToBlockedUsersPage?(): void;
281
+ goToPostComposerPage?(context: {
282
+ userId: string;
283
+ }): void;
284
+ };
285
+ AmityUserProfileHeaderComponentBehavior: {
286
+ goToUserRelationshipPage?(context: {
287
+ userId: string;
288
+ selectedTab: UserRelationshipPageTabs;
289
+ }): void;
290
+ goToPendingFollowRequestPage?(): void;
291
+ };
292
+ AmityUserRelationshipPageBehavior: {
293
+ goToUserProfilePage?(context: {
294
+ userId: string;
295
+ }): void;
296
+ };
297
+ AmityUserPendingFollowRequestsPageBehavior: {
298
+ goToUserProfilePage?(context: {
299
+ userId: string;
300
+ }): void;
301
+ };
302
+ AmityBlockedUsersPageBehavior: {
303
+ goToUserProfilePage?(context: {
304
+ userId: string;
305
+ }): void;
306
+ };
307
+ }
32
308
 
33
309
  interface UltaConfigContextProps {
34
- newsCommunityId: string;
35
310
  faqCommunityId: string;
36
- defaultTab?: 'explore' | 'newsfeed';
37
- termsAndConditionsUrl: string;
311
+ newsCommunityId: string;
38
312
  privacyAndPolicyUrl: string;
313
+ termsAndConditionsUrl: string;
314
+ allowUpdateDisplayName?: boolean;
315
+ defaultTab?: 'explore' | 'newsfeed';
39
316
  }
40
317
 
41
- interface UiKitProviderProps {
318
+ type AmityUIKitConfig = Config;
319
+ interface AmityUIKitProviderProps {
42
320
  apiKey: string;
43
321
  apiRegion: string;
44
322
  apiEndpoint?: {
@@ -47,10 +325,10 @@ interface UiKitProviderProps {
47
325
  };
48
326
  userId: string;
49
327
  displayName?: string;
50
- customComponents?: CustomComponentType;
51
- postRendererConfig?: PostRendererConfigType;
328
+ postRendererConfig?: any;
52
329
  theme?: Record<string, unknown>;
53
330
  children?: React.ReactNode;
331
+ socialCommunityCreationButtonVisible?: boolean;
54
332
  actionHandlers?: {
55
333
  onChangePage?: (data: {
56
334
  type: string;
@@ -65,17 +343,16 @@ interface UiKitProviderProps {
65
343
  }) => void;
66
344
  onEditUser?: (userId: string) => void;
67
345
  onMessageUser?: (userId: string) => void;
68
- onBack?: () => void;
69
346
  };
70
- socialCommunityCreationButtonVisible?: boolean;
347
+ pageBehavior?: PageBehavior;
71
348
  onConnectionStatusChange?: (state: Amity.SessionStates) => void;
72
349
  onConnected?: () => void;
73
350
  onDisconnected?: () => void;
74
- pageBehavior?: Record<string, unknown>;
75
351
  getAuthToken?: () => Promise<string>;
352
+ configs?: AmityUIKitConfig;
76
353
  ultaConfig: UltaConfigContextProps;
77
354
  }
78
- declare const UiKitProvider: ({ apiKey, apiRegion, apiEndpoint, userId, displayName, customComponents, postRendererConfig, theme, children, socialCommunityCreationButtonVisible, actionHandlers, onConnectionStatusChange, onDisconnected, getAuthToken, ultaConfig, }: UiKitProviderProps) => React.JSX.Element;
355
+ declare const AmityUIKitProvider: React.FC<AmityUIKitProviderProps>;
79
356
 
80
357
  interface FeedProps {
81
358
  className?: string;
@@ -88,9 +365,9 @@ interface FeedProps {
88
365
  readonly?: boolean;
89
366
  isHiddenProfile?: boolean;
90
367
  }
91
- declare const _default$3: (props: FeedProps) => React.JSX.Element;
368
+ declare const _default$2: React.MemoExoticComponent<(props: FeedProps) => React.JSX.Element>;
92
369
 
93
- declare const Community: () => React.JSX.Element;
370
+ declare const Application: () => React.JSX.Element;
94
371
 
95
372
  type PartialChannel = Pick<Amity.Channel, 'channelId' | 'type'>;
96
373
  declare const ChatApplication: ({ membershipFilter, defaultChannelId, onMemberSelect, onChannelSelect, onAddNewChannel, onEditChatMember, }: {
@@ -105,23 +382,6 @@ declare const ChatApplication: ({ membershipFilter, defaultChannelId, onMemberSe
105
382
  }) => void) | undefined;
106
383
  }) => React.JSX.Element;
107
384
 
108
- interface ExplorePageProps {
109
- isOpen: boolean;
110
- toggleOpen: () => void;
111
- hideSideMenu?: boolean;
112
- }
113
- declare const ExplorePage: ({ isOpen, toggleOpen, hideSideMenu }: ExplorePageProps) => React.JSX.Element;
114
-
115
- interface PostProps {
116
- post: Amity.Post;
117
- className?: string;
118
- hidePostTarget?: boolean;
119
- readonly?: boolean;
120
- onDeleted?: (postId: string) => void;
121
- onUpdated?: (post: Amity.Post) => void;
122
- }
123
- declare const _default$2: React.MemoExoticComponent<(props: PostProps) => React.JSX.Element>;
124
-
125
385
  declare const addChatMembers: (channelId: string, userIds: string[]) => Promise<boolean>;
126
386
 
127
387
  declare const removeChatMembers: (channelId: string, userIds: string[]) => Promise<boolean>;
@@ -136,10 +396,9 @@ declare const enum PageTypes {
136
396
  CommunityFeed = "communityfeed",
137
397
  CommunityEdit = "communityedit",
138
398
  UserEdit = "useredit",
139
- PostDetail = "postdetail",
140
399
  ViewStory = "viewstory",
141
400
  DraftPage = "draftpage",
142
- MyCommunities = "mycommunities"
401
+ MyCommunities = "MyCommunities"
143
402
  }
144
403
 
145
404
  type AmityStoryMediaType$1 = {
@@ -189,18 +448,9 @@ type Page = {
189
448
  targetId: string;
190
449
  targetType: Amity.StoryTargetType;
191
450
  storyType: 'communityFeed' | 'globalFeed';
192
- } | {
193
- type: PageTypes.MyCommunities;
194
- communityId?: string;
195
- } | {
196
- type: PageTypes.PostDetail;
197
- communityId?: string;
198
- targetId?: string;
199
- targetType?: string;
200
451
  };
201
452
  type ContextValue = {
202
- page: Page | null;
203
- pages: Page[];
453
+ page: Page;
204
454
  onChangePage: (type: string) => void;
205
455
  onClickCategory: (categoryId: string) => void;
206
456
  onClickCommunity: (communityId: string) => void;
@@ -218,7 +468,6 @@ type ContextValue = {
218
468
  okText: ReactNode;
219
469
  onOk?: () => void;
220
470
  } | null | undefined) => void;
221
- onClickNoti: (targetId: string, targetType: string) => void;
222
471
  };
223
472
  declare const useNavigation: () => ContextValue;
224
473
 
@@ -249,16 +498,16 @@ declare const PostContainer: styled_components_dist_types.IStyledComponentBase<"
249
498
  }) => React.JSX.Element, keyof React.Component<any, {}, any>>;
250
499
 
251
500
  type Mentioned = {
252
- userId?: string;
501
+ userId: string;
253
502
  length: number;
254
503
  index: number;
255
504
  type: string;
505
+ displayName: string;
256
506
  };
257
507
 
258
508
  interface EngagementBarProps {
259
- post: Amity.Post;
509
+ postId: string;
260
510
  readonly?: boolean;
261
- isClientCommunity?: boolean;
262
511
  }
263
512
 
264
513
  declare const _default: React.MemoExoticComponent<(props: EngagementBarProps) => React.JSX.Element>;
@@ -325,15 +574,7 @@ declare class AmityUIKitManager {
325
574
  * @param onConnected - The callback function to be called when connected.
326
575
  * @param onDisconnected - The callback function to be called when disconnected.
327
576
  */
328
- static registerDevice({ userId, displayName, sessionHandler, authToken, onConnectionStatusChange, onConnected, onDisconnected, }: {
329
- userId: string;
330
- displayName?: string;
331
- sessionHandler: SessionHandler;
332
- authToken?: string;
333
- onConnectionStatusChange?: (state: Amity.SessionStates) => void;
334
- onConnected?: () => void;
335
- onDisconnected?: () => void;
336
- }): Promise<void>;
577
+ static registerDevice(userId: string, displayName: string, sessionHandler: SessionHandler, authToken?: string, onConnectionStatusChange?: (state: Amity.SessionStates) => void, onConnected?: () => void, onDisconnected?: () => void): Promise<void>;
337
578
  /**
338
579
  * Sets the AmityClient instance to be used by the AmityUIKitManager.
339
580
  * This method is useful when sharing the AmityClient instance between different parts of the application.
@@ -491,58 +732,14 @@ declare const ViewStoryPage: React.FC<AmityViewStoryPageProps>;
491
732
 
492
733
  declare function StoryTargetSelectionPage(): React.JSX.Element;
493
734
 
494
- declare enum HomePageTab {
495
- Newsfeed = "Newsfeed",
496
- Explore = "Explore",
497
- MyCommunities = "My communities"
498
- }
499
735
  declare function SocialHomePage(): React.JSX.Element;
500
736
 
501
- declare enum Mode {
502
- CREATE = "create",
503
- EDIT = "edit"
504
- }
505
- interface AmityPostComposerEditOptions {
506
- mode: Mode.EDIT;
507
- post: Amity.Post;
508
- }
509
- interface AmityPostComposerCreateOptions {
510
- mode: Mode.CREATE;
511
- targetId: string | null;
512
- targetType: 'community' | 'user';
513
- community?: Amity.Community;
514
- }
515
- type PostComposerPageProps = AmityPostComposerCreateOptions | AmityPostComposerEditOptions;
516
- declare function PostComposerPage(props: PostComposerPageProps): React.JSX.Element;
517
-
518
737
  declare function SelectPostTargetPage(): React.JSX.Element;
519
738
 
520
739
  declare function MyCommunitiesSearchPage(): React.JSX.Element;
521
740
 
522
741
  declare function SocialGlobalSearchPage(): React.JSX.Element;
523
742
 
524
- declare enum AmityPostContentComponentStyle {
525
- FEED = "feed",
526
- DETAIL = "detail"
527
- }
528
- declare enum AmityPostCategory {
529
- GENERAL = "general",
530
- ANNOUNCEMENT = "announcement",
531
- PIN = "pin",
532
- PIN_AND_ANNOUNCEMENT = "pin_and_announcement"
533
- }
534
- interface PostContentProps {
535
- post: Amity.Post;
536
- onClick?: () => void;
537
- onPostDeleted?: (post: Amity.Post) => void;
538
- style: AmityPostContentComponentStyle;
539
- category: AmityPostCategory;
540
- hideMenu?: boolean;
541
- hideTarget?: boolean;
542
- pageId?: string;
543
- }
544
- declare const PostContent: ({ pageId, post: initialPost, onClick, onPostDeleted, category, hideMenu, hideTarget, style, }: PostContentProps) => React.JSX.Element;
545
-
546
743
  interface PostDetailPageProps {
547
744
  id: string;
548
745
  hideTarget?: boolean;
@@ -552,9 +749,21 @@ declare function PostDetailPage({ id, hideTarget, category }: PostDetailPageProp
552
749
 
553
750
  interface CommunityProfileProps {
554
751
  communityId: string;
752
+ page?: number;
555
753
  }
556
754
  declare const CommunityProfilePage: React.FC<CommunityProfileProps>;
557
755
 
756
+ type UserProfilePageProps = {
757
+ userId: string;
758
+ isShowBackButton?: boolean;
759
+ };
760
+ declare const UserProfilePage: React.FC<UserProfilePageProps>;
761
+
762
+ interface EditUserProfilePageProps {
763
+ userId: string;
764
+ }
765
+ declare const EditUserProfilePage: React.FC<EditUserProfilePageProps>;
766
+
558
767
  interface CommentTrayProps {
559
768
  referenceType: Amity.CommentReferenceType;
560
769
  referenceId: string;
@@ -601,27 +810,31 @@ interface DetailedMediaAttachmentProps {
601
810
  }
602
811
  declare function DetailedMediaAttachment({ pageId, isVisibleCamera, isVisibleImage, isVisibleVideo, onVideoFileChange, onImageFileChange, }: DetailedMediaAttachmentProps): React.JSX.Element | null;
603
812
 
604
- interface UserSearchResultProps {
813
+ type UserSearchResultProps = {
605
814
  pageId?: string;
606
- userCollection: Amity.User[];
607
815
  isLoading: boolean;
608
816
  onLoadMore: () => void;
609
- }
610
- declare const UserSearchResult: ({ pageId, userCollection, isLoading, onLoadMore, }: UserSearchResultProps) => React.JSX.Element;
817
+ userCollection: Amity.User[];
818
+ onClosePopover?: () => void;
819
+ };
820
+ declare const UserSearchResult: ({ isLoading, onLoadMore, pageId, onClosePopover, userCollection, }: UserSearchResultProps) => React.JSX.Element;
611
821
 
612
- interface CommunitySearchResultProps {
822
+ type CommunitySearchResultProps = {
613
823
  pageId?: string;
614
- communityCollection: Amity.Community[];
615
824
  isLoading: boolean;
616
825
  onLoadMore: () => void;
617
- }
618
- declare const CommunitySearchResult: ({ pageId, communityCollection, isLoading, onLoadMore, }: CommunitySearchResultProps) => React.JSX.Element;
826
+ showJoinButton?: boolean;
827
+ onClosePopover?: () => void;
828
+ communityCollection: Amity.Community[];
829
+ };
830
+ declare const CommunitySearchResult: ({ isLoading, onLoadMore, pageId, onClosePopover, showJoinButton, communityCollection, }: CommunitySearchResultProps) => React.JSX.Element;
619
831
 
620
- interface TopSearchBarProps {
832
+ type TopSearchBarProps = {
621
833
  pageId?: string;
834
+ onFocus?: () => void;
622
835
  search: (keyword: string) => void;
623
- }
624
- declare function TopSearchBar({ pageId, search }: TopSearchBarProps): React.JSX.Element | null;
836
+ };
837
+ declare function TopSearchBar({ pageId, search, onFocus }: TopSearchBarProps): React.JSX.Element | null;
625
838
 
626
839
  interface MyCommunitiesProps {
627
840
  pageId?: string;
@@ -643,11 +856,18 @@ interface EmptyNewsfeedProps {
643
856
  }
644
857
  declare function EmptyNewsfeed({ pageId }: EmptyNewsfeedProps): React.JSX.Element | null;
645
858
 
646
- interface NewsfeedProps {
859
+ type NewsfeedProps = {
647
860
  pageId?: string;
648
- }
861
+ };
649
862
  declare const Newsfeed: ({ pageId }: NewsfeedProps) => React.JSX.Element;
650
863
 
864
+ declare enum HomePageTab {
865
+ Newsfeed = "Newsfeed",
866
+ Explore = "Explore",
867
+ Profile = "Profile",
868
+ MyCommunities = "My communities"
869
+ }
870
+
651
871
  interface TopNavigationProps {
652
872
  pageId?: string;
653
873
  selectedTab?: HomePageTab;
@@ -658,6 +878,8 @@ declare function TopNavigation({ pageId, selectedTab, onClickPostCreationButton,
658
878
  interface CommunityProfileHeaderProps {
659
879
  pageId?: string;
660
880
  community: Amity.Community;
881
+ isSticky?: boolean;
882
+ page?: number;
661
883
  }
662
884
  declare const CommunityHeader: React.FC<CommunityProfileHeaderProps>;
663
885
 
@@ -672,4 +894,4 @@ interface CommunityPinnedPostProps {
672
894
  }
673
895
  declare const CommunityPinnedPost: ({ communityId }: CommunityPinnedPostProps) => React.JSX.Element;
674
896
 
675
- export { _default$1 as AmityAvatar, CommentTray as AmityCommentTrayComponent, CommunityFeed as AmityCommunityFeedComponent, CommunityHeader as AmityCommunityHeaderComponent, CommunityPinnedPost as AmityCommunityPinnedPostComponent, CommunityProfilePage as AmityCommunityProfilePage, CommunitySearchResult as AmityCommunitySearchResultComponent, CreatePostMenu as AmityCreatePostMenuComponent, DetailedMediaAttachment as AmityDetailedMediaAttachmentComponent, AmityDraftStoryPage, EmptyNewsfeed as AmityEmptyNewsFeedComponent, CommentText as AmityExpandableText, GlobalFeed as AmityGlobalFeedComponent, ChatHeader as AmityLiveChatHeader, MessageComposer as AmityLiveChatMessageComposeBar, MessageList as AmityLiveChatMessageList, MessageQuickReaction as AmityLiveChatMessageQuickReaction, MessageReactionPicker as AmityLiveChatMessageReactionPicker, MessageReactionPreview as AmityLiveChatMessageReactionPreview, LiveChat as AmityLiveChatPage, MediaAttachment as AmityMediaAttachmentComponent, type MessageActionType as AmityMessageActionType, MyCommunities as AmityMyCommunitiesComponent, MyCommunitiesSearchPage as AmityMyCommunitiesSearchPage, Newsfeed as AmityNewsFeedComponent, PostComposerPage as AmityPostComposerPage, PostContainer as AmityPostContainer, PostContent as AmityPostContentComponent, _default$2 as AmityPostDetail, PostDetailPage as AmityPostDetailPage, _default as AmityPostEngagementBar, SelectPostTargetPage as AmityPostTargetSelectionPage, ReactionList as AmityReactionListComponent, type ReactionListProps as AmityReactionListProps, SocialGlobalSearchPage as AmitySocialGlobalSearchPage, SocialHomePage as AmitySocialHomePage, HomePageTab as AmitySocialHomePageTab, TopNavigation as AmitySocialHomeTopNavigationComponent, StoryPreview as AmityStoryPreview, StoryPreviewThumbnail as AmityStoryPreviewThumbnail, StoryTab as AmityStoryTabComponent, StoryTargetSelectionPage as AmityStoryTargetSelectionPage, TopSearchBar as AmityTopSearchBarComponent, AmityUIKitManager, ChatApplication as AmityUiKitChat, _default$3 as AmityUiKitFeed, UiKitProvider as AmityUiKitProvider, Community as AmityUiKitSocial, UserSearchResult as AmityUserSearchResultComponent, ViewStoryPage as AmityViewStoryPage, ExplorePage, addChatMembers as amityAddChatMembers, removeChatMembers as amityRemoveChatMembers, useNavigation as useAmityNavigation, useSDK as useAmitySDK, useUser as useAmityUser };
897
+ export { _default$1 as AmityAvatar, CommentTray as AmityCommentTrayComponent, CommunityFeed as AmityCommunityFeedComponent, CommunityHeader as AmityCommunityHeaderComponent, CommunityPinnedPost as AmityCommunityPinnedPostComponent, CommunityProfilePage as AmityCommunityProfilePage, CommunitySearchResult as AmityCommunitySearchResultComponent, CreatePostMenu as AmityCreatePostMenuComponent, DetailedMediaAttachment as AmityDetailedMediaAttachmentComponent, AmityDraftStoryPage, EditUserProfilePage as AmityEditUserProfilePage, EmptyNewsfeed as AmityEmptyNewsFeedComponent, CommentText as AmityExpandableText, GlobalFeed as AmityGlobalFeedComponent, ChatHeader as AmityLiveChatHeader, MessageComposer as AmityLiveChatMessageComposeBar, MessageList as AmityLiveChatMessageList, MessageQuickReaction as AmityLiveChatMessageQuickReaction, MessageReactionPicker as AmityLiveChatMessageReactionPicker, MessageReactionPreview as AmityLiveChatMessageReactionPreview, LiveChat as AmityLiveChatPage, MediaAttachment as AmityMediaAttachmentComponent, type MessageActionType as AmityMessageActionType, MyCommunities as AmityMyCommunitiesComponent, MyCommunitiesSearchPage as AmityMyCommunitiesSearchPage, Newsfeed as AmityNewsFeedComponent, PostComposerPage as AmityPostComposerPage, PostContainer as AmityPostContainer, PostContent as AmityPostContentComponent, PostDetailPage as AmityPostDetailPage, _default as AmityPostEngagementBar, SelectPostTargetPage as AmityPostTargetSelectionPage, ReactionList as AmityReactionListComponent, type ReactionListProps as AmityReactionListProps, SocialGlobalSearchPage as AmitySocialGlobalSearchPage, SocialHomePage as AmitySocialHomePage, HomePageTab as AmitySocialHomePageTab, TopNavigation as AmitySocialHomeTopNavigationComponent, StoryPreview as AmityStoryPreview, StoryPreviewThumbnail as AmityStoryPreviewThumbnail, StoryTab as AmityStoryTabComponent, StoryTargetSelectionPage as AmityStoryTargetSelectionPage, TopSearchBar as AmityTopSearchBarComponent, AmityUIKitManager, ChatApplication as AmityUiKitChat, _default$2 as AmityUiKitFeed, AmityUIKitProvider as AmityUiKitProvider, Application as AmityUiKitSocial, UserProfilePage as AmityUserProfilePage, UserSearchResult as AmityUserSearchResultComponent, ViewStoryPage as AmityViewStoryPage, addChatMembers as amityAddChatMembers, removeChatMembers as amityRemoveChatMembers, useNavigation as useAmityNavigation, useSDK as useAmitySDK, useUser as useAmityUser };