@amityco/ui-kit-open-source 3.7.0 → 3.9.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/dist/index.d.mts CHANGED
@@ -1,48 +1,165 @@
1
- import React, { ReactNode } from 'react';
2
- import { PostContentType } from '@amityco/ts-sdk';
1
+ import React, { ReactNode, RefObject } from 'react';
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' | '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
- poll?: Amity.Poll | null;
20
- isPollClosed?: boolean;
21
- hidePostTarget?: boolean;
22
- isFlaggedByMe?: boolean;
23
- readonly?: boolean;
24
- post?: Amity.Post;
25
- user?: Amity.User | null;
26
- userRoles?: string[];
27
- loading?: boolean;
28
- 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>;
29
59
  };
30
- type PostRendererConfigType = Record<ValueOf<typeof PostContentType> | string, (props: PostRendererProps) => ReactNode>;
31
60
 
32
- interface UiKitProviderProps {
61
+ declare enum Mode {
62
+ CREATE = "create",
63
+ EDIT = "edit"
64
+ }
65
+ interface AmityPostComposerEditOptions {
66
+ mode: Mode.EDIT;
67
+ post: Amity.Post;
68
+ }
69
+ interface AmityPostComposerCreateOptions {
70
+ mode: Mode.CREATE;
71
+ targetId: string | null;
72
+ targetType: 'community' | 'user';
73
+ community?: Amity.Community;
74
+ }
75
+ type PostComposerPageProps = AmityPostComposerCreateOptions | AmityPostComposerEditOptions;
76
+ declare function PostComposerPage(props: PostComposerPageProps): React.JSX.Element;
77
+
78
+ interface PageBehavior {
79
+ AmityStoryViewPageBehavior?: {
80
+ onCloseAction?(): void;
81
+ hyperLinkAction?(context: Record<string, unknown>): void;
82
+ };
83
+ AmityDraftStoryPageBehavior?: {
84
+ onCloseAction?(): void;
85
+ };
86
+ onClickHyperLink?(): void;
87
+ AmitySocialHomePageBehavior?: Record<string, unknown>;
88
+ AmityGlobalFeedComponentBehavior?: {
89
+ goToPostDetailPage?: (context: {
90
+ postId: string;
91
+ }) => void;
92
+ goToViewStoryPage?: (context: {
93
+ targetId: string;
94
+ targetType: Amity.StoryTargetType;
95
+ storyType: 'communityFeed' | 'globalFeed';
96
+ targetIds?: string[];
97
+ }) => void;
98
+ };
99
+ AmityPostDetailPageBehavior?: Record<string, unknown>;
100
+ AmityPostContentComponentBehavior?: {
101
+ goToCommunityProfilePage?: (context: {
102
+ communityId: string;
103
+ }) => void;
104
+ goToUserProfilePage?: (context: {
105
+ userId: string;
106
+ }) => void;
107
+ goToPostComposerPage?: (context: {
108
+ mode: Mode.EDIT;
109
+ post: Amity.Post;
110
+ }) => void;
111
+ };
112
+ AmitySocialGlobalSearchPageBehavior?: Record<string, unknown>;
113
+ AmityCommunitySearchResultComponentBehavior?: {
114
+ goToCommunityProfilePage?: (context: {
115
+ communityId: string;
116
+ }) => void;
117
+ };
118
+ AmityCreatePostMenuComponentBehavior?: {
119
+ goToSelectPostTargetPage?(): void;
120
+ goToStoryTargetSelectionPage?(): void;
121
+ };
122
+ AmityPostTargetSelectionPage?: {
123
+ goToPostComposerPage?: (context: {
124
+ mode: Mode.CREATE;
125
+ targetId: string | null;
126
+ targetType: 'community' | 'user';
127
+ community?: Amity.Community;
128
+ }) => void;
129
+ };
130
+ AmityStoryTargetSelectionPage?: {
131
+ goToStoryCreationPage?(context: {
132
+ targetId: string | null;
133
+ targetType: Amity.StoryTargetType;
134
+ mediaType: {
135
+ type: 'image';
136
+ url: string;
137
+ } | {
138
+ type: 'video';
139
+ url: string;
140
+ };
141
+ storyType: 'communityFeed' | 'globalFeed';
142
+ }): void;
143
+ };
144
+ AmityPostComposerPageBehavior?: {
145
+ goToSocialHomePage?(): void;
146
+ };
147
+ }
148
+
149
+ type AmityUIKitConfig = Config;
150
+ interface AmityUIKitProviderProps {
33
151
  apiKey: string;
34
152
  apiRegion: string;
35
153
  apiEndpoint?: {
36
154
  http?: string;
37
155
  mqtt?: string;
38
156
  };
39
- authToken?: string;
40
157
  userId: string;
41
158
  displayName: string;
42
- customComponents?: CustomComponentType;
43
- postRendererConfig?: PostRendererConfigType;
159
+ postRendererConfig?: any;
44
160
  theme?: Record<string, unknown>;
45
161
  children?: React.ReactNode;
162
+ socialCommunityCreationButtonVisible?: boolean;
46
163
  actionHandlers?: {
47
164
  onChangePage?: (data: {
48
165
  type: string;
@@ -57,16 +174,15 @@ interface UiKitProviderProps {
57
174
  }) => void;
58
175
  onEditUser?: (userId: string) => void;
59
176
  onMessageUser?: (userId: string) => void;
60
- onBack?: () => void;
61
177
  };
62
- socialCommunityCreationButtonVisible?: boolean;
178
+ pageBehavior?: PageBehavior;
63
179
  onConnectionStatusChange?: (state: Amity.SessionStates) => void;
64
180
  onConnected?: () => void;
65
181
  onDisconnected?: () => void;
66
- pageBehavior?: Record<string, unknown>;
67
182
  getAuthToken?: () => Promise<string>;
183
+ configs?: AmityUIKitConfig;
68
184
  }
69
- declare const UiKitProvider: ({ apiKey, apiRegion, apiEndpoint, userId, displayName, customComponents, postRendererConfig, theme, children, socialCommunityCreationButtonVisible, actionHandlers, onConnectionStatusChange, onDisconnected, getAuthToken, }: UiKitProviderProps) => React.JSX.Element;
185
+ declare const AmityUIKitProvider: React.FC<AmityUIKitProviderProps>;
70
186
 
71
187
  interface FeedProps {
72
188
  className?: string;
@@ -125,7 +241,6 @@ type AmityDraftStoryPageProps = {
125
241
  targetId: string;
126
242
  targetType: Amity.StoryTargetType;
127
243
  mediaType?: AmityStoryMediaType$1;
128
- storyType: 'communityFeed' | 'globalFeed';
129
244
  };
130
245
  declare const AmityDraftStoryPage: (props: AmityDraftStoryPageProps) => React.JSX.Element;
131
246
 
@@ -281,11 +396,12 @@ declare class AmityUIKitManager {
281
396
  * @param userId - The user ID to be used for login.
282
397
  * @param displayName - The display name of the user.
283
398
  * @param sessionHandler - The session handler for access token renewal.
399
+ * @param authToken - The authentication token to be used for login.
284
400
  * @param onConnectionStatusChange - The callback function for connection status changes.
285
401
  * @param onConnected - The callback function to be called when connected.
286
402
  * @param onDisconnected - The callback function to be called when disconnected.
287
403
  */
288
- static registerDevice(userId: string, displayName: string, sessionHandler: SessionHandler, onConnectionStatusChange?: (state: Amity.SessionStates) => void, onConnected?: () => void, onDisconnected?: () => void): Promise<void>;
404
+ static registerDevice(userId: string, displayName: string, sessionHandler: SessionHandler, authToken?: string, onConnectionStatusChange?: (state: Amity.SessionStates) => void, onConnected?: () => void, onDisconnected?: () => void): Promise<void>;
289
405
  /**
290
406
  * Sets the AmityClient instance to be used by the AmityUIKitManager.
291
407
  * This method is useful when sharing the AmityClient instance between different parts of the application.
@@ -315,13 +431,6 @@ declare class AmityUIKitManager {
315
431
  isClientConnected(): boolean;
316
432
  }
317
433
 
318
- type ViewStoryPageType = 'communityFeed' | 'globalFeed';
319
- interface AmityViewStoryPageProps {
320
- type: ViewStoryPageType;
321
- targetId: string;
322
- }
323
- declare const ViewStoryPage: React.FC<AmityViewStoryPageProps>;
324
-
325
434
  interface CommentTrayProps {
326
435
  referenceType: Amity.CommentReferenceType;
327
436
  referenceId: string;
@@ -344,13 +453,168 @@ interface ReactionListProps {
344
453
  referenceType: Amity.ReactableType;
345
454
  }
346
455
 
347
- type StoryTabType = 'communityFeed' | 'globalFeed';
348
- type StoryTabProps<T extends StoryTabType> = {
456
+ type StoryTabProps = ({
457
+ type: 'communityFeed';
458
+ communityId: string;
459
+ } | {
460
+ type: 'globalFeed';
461
+ }) & {
462
+ pageId?: string;
463
+ };
464
+ declare const StoryTab: React.FC<StoryTabProps>;
465
+
466
+ interface CreatePostMenuProps {
467
+ pageId: string;
468
+ }
469
+ declare function CreatePostMenu({ pageId }: CreatePostMenuProps): React.JSX.Element;
470
+
471
+ interface MediaAttachmentProps {
472
+ pageId: string;
473
+ uploadLoading?: boolean;
474
+ isVisibleCamera: boolean;
475
+ isVisibleImage: boolean;
476
+ isVisibleVideo: boolean;
477
+ onVideoFileChange?: (files: File[]) => void;
478
+ onImageFileChange?: (files: File[]) => void;
479
+ }
480
+ declare function MediaAttachment({ pageId, isVisibleCamera, isVisibleImage, isVisibleVideo, onVideoFileChange, onImageFileChange, }: MediaAttachmentProps): React.JSX.Element | null;
481
+
482
+ interface DetailedMediaAttachmentProps {
483
+ pageId: string;
484
+ isVisibleCamera: boolean;
485
+ isVisibleImage: boolean;
486
+ isVisibleVideo: boolean;
487
+ onVideoFileChange?: (files: File[]) => void;
488
+ onImageFileChange?: (files: File[]) => void;
489
+ }
490
+ declare function DetailedMediaAttachment({ pageId, isVisibleCamera, isVisibleImage, isVisibleVideo, onVideoFileChange, onImageFileChange, }: DetailedMediaAttachmentProps): React.JSX.Element | null;
491
+
492
+ interface UserSearchResultProps {
493
+ pageId?: string;
494
+ userCollection: Amity.User[];
495
+ isLoading: boolean;
496
+ onLoadMore: () => void;
497
+ }
498
+ declare const UserSearchResult: ({ pageId, userCollection, isLoading, onLoadMore, }: UserSearchResultProps) => React.JSX.Element;
499
+
500
+ interface CommunitySearchResultProps {
501
+ pageId?: string;
502
+ communityCollection: Amity.Community[];
503
+ isLoading: boolean;
504
+ onLoadMore: () => void;
505
+ }
506
+ declare const CommunitySearchResult: ({ pageId, communityCollection, isLoading, onLoadMore, }: CommunitySearchResultProps) => React.JSX.Element;
507
+
508
+ interface TopSearchBarProps {
509
+ pageId?: string;
510
+ search: (keyword: string) => void;
511
+ }
512
+ declare function TopSearchBar({ pageId, search }: TopSearchBarProps): React.JSX.Element | null;
513
+
514
+ interface PostContentProps {
515
+ pageId?: string;
516
+ post: Amity.Post;
517
+ type: 'feed' | 'detail';
518
+ drawerRef?: React.RefObject<HTMLDivElement>;
519
+ onClick?: () => void;
520
+ onPostDeleted?: (post: Amity.Post) => void;
521
+ }
522
+ declare const PostContent: ({ pageId, post: initialPost, type, drawerRef, onClick, onPostDeleted, }: PostContentProps) => React.JSX.Element;
523
+
524
+ interface MyCommunitiesProps {
525
+ pageId?: string;
526
+ }
527
+ declare const MyCommunities: ({ pageId }: MyCommunitiesProps) => React.JSX.Element;
528
+
529
+ interface GlobalFeedProps {
530
+ pageId?: string;
531
+ componentId?: string;
532
+ items: Array<Amity.Post | Amity.Ad>;
533
+ isLoading: boolean;
534
+ onFeedReachBottom: () => void;
535
+ onPostDeleted?: (post: Amity.Post) => void;
536
+ }
537
+ declare const GlobalFeed: ({ pageId, componentId, items, isLoading, onFeedReachBottom, onPostDeleted, }: GlobalFeedProps) => React.JSX.Element;
538
+
539
+ interface EmptyNewsfeedProps {
540
+ pageId?: string;
541
+ }
542
+ declare function EmptyNewsfeed({ pageId }: EmptyNewsfeedProps): React.JSX.Element | null;
543
+
544
+ interface NewsfeedProps {
349
545
  pageId?: string;
350
- type: T;
351
- communityId?: T extends 'communityFeed' ? string : never;
546
+ }
547
+ declare const Newsfeed: ({ pageId }: NewsfeedProps) => React.JSX.Element;
548
+
549
+ declare enum HomePageTab {
550
+ Newsfeed = "Newsfeed",
551
+ Explore = "Explore",
552
+ MyCommunities = "My communities"
553
+ }
554
+ declare function SocialHomePage(): React.JSX.Element;
555
+
556
+ interface TopNavigationProps {
557
+ pageId?: string;
558
+ selectedTab?: HomePageTab;
559
+ onClickPostCreationButton?: () => void;
560
+ }
561
+ declare function TopNavigation({ pageId, selectedTab, onClickPostCreationButton, }: TopNavigationProps): React.JSX.Element | null;
562
+
563
+ interface ChatHeaderProps {
564
+ channel: Amity.Channel | null;
565
+ pageId?: string;
566
+ componentId?: string;
567
+ }
568
+ declare const ChatHeader: ({ channel, pageId }: ChatHeaderProps) => React.JSX.Element;
569
+
570
+ interface AmityLiveChatMessageListProps {
571
+ pageId?: string;
572
+ channel: Amity.Channel;
573
+ replyMessage: (message: Amity.Message<'text'>) => void;
574
+ }
575
+ declare const MessageList: ({ pageId, channel, replyMessage, }: AmityLiveChatMessageListProps) => React.JSX.Element;
576
+
577
+ type ComposeActionTypes = {
578
+ replyMessage?: Amity.Message;
579
+ mentionMessage?: Amity.Message;
580
+ clearReplyMessage?: () => void;
581
+ clearMention?: () => void;
582
+ };
583
+ interface MessageComposerProps {
584
+ channel: Amity.Channel;
585
+ composeAction: ComposeActionTypes;
586
+ suggestionRef?: RefObject<HTMLDivElement>;
587
+ disabled?: boolean;
588
+ pageId?: string;
589
+ }
590
+ declare const MessageComposer: ({ pageId, channel, composeAction: { replyMessage, mentionMessage, clearReplyMessage, clearMention }, }: MessageComposerProps) => React.JSX.Element;
591
+
592
+ declare const MessageReactionPreview: ({ message, onClick, }: {
593
+ message: Amity.Message;
594
+ onClick?: (() => void) | undefined;
595
+ }) => React.JSX.Element | null;
596
+
597
+ declare const MessageReactionPicker: ({ message, onSelectReaction, }: {
598
+ message: Amity.Message;
599
+ onSelectReaction: (reactionName: string) => void;
600
+ }) => React.JSX.Element | null;
601
+
602
+ interface MessageQuickReactionProps {
603
+ pageId?: string;
604
+ componentId?: string;
605
+ message: Amity.Message;
606
+ onSelectReaction?: () => void;
607
+ }
608
+ declare const MessageQuickReaction: ({ pageId, componentId, message, onSelectReaction, }: MessageQuickReactionProps) => React.JSX.Element;
609
+
610
+ type MessageActionType = {
611
+ onCopy?: () => void;
612
+ onFlag?: () => void;
613
+ onUnflag?: () => void;
614
+ onDelete?: () => void;
615
+ onReply?: () => void;
616
+ onMention?: () => void;
352
617
  };
353
- declare const StoryTab: <T extends StoryTabType>({ pageId, type, communityId, }: StoryTabProps<T>) => React.JSX.Element | null;
354
618
 
355
619
  type AmityStoryMediaType = {
356
620
  type: 'image';
@@ -361,8 +625,9 @@ type AmityStoryMediaType = {
361
625
  };
362
626
  type StoryPreviewProps = {
363
627
  mediaType?: AmityStoryMediaType;
364
- file?: File | null;
365
628
  imageMode: 'fit' | 'fill';
629
+ width?: number;
630
+ height?: number;
366
631
  hyperLink: {
367
632
  data: {
368
633
  url: string;
@@ -372,7 +637,6 @@ type StoryPreviewProps = {
372
637
  }[];
373
638
  onPlay?: () => void;
374
639
  onPause?: () => void;
375
- onComplete?: () => void;
376
640
  avatar: string;
377
641
  title: string;
378
642
  description: string;
@@ -381,4 +645,41 @@ type StoryPreviewProps = {
381
645
  };
382
646
  declare const StoryPreview: React.FC<StoryPreviewProps>;
383
647
 
384
- export { _default$1 as AmityAvatar, CommentTray as AmityCommentTrayComponent, AmityDraftStoryPage, CommentText as AmityExpandableText, PostContainer as AmityPostContainer, _default as AmityPostEngagementBar, ReactionList as AmityReactionList, type ReactionListProps as AmityReactionListProps, StoryPreview as AmityStoryPreview, StoryTab as AmityStoryTabComponent, AmityUIKitManager, ChatApplication as AmityUiKitChat, _default$2 as AmityUiKitFeed, UiKitProvider as AmityUiKitProvider, Community as AmityUiKitSocial, ViewStoryPage as AmityViewStoryPage, addChatMembers as amityAddChatMembers, removeChatMembers as amityRemoveChatMembers, useNavigation as useAmityNavigation, useSDK as useAmitySDK, useUser as useAmityUser };
648
+ type StoryPreviewThumbnailProps = {
649
+ thumbnailUrl?: string;
650
+ hyperLink: {
651
+ data: {
652
+ url: string;
653
+ customText: string;
654
+ };
655
+ type: Amity.StoryItemType;
656
+ }[];
657
+ avatar: string;
658
+ title: string;
659
+ isOfficial?: boolean;
660
+ onClick?: () => void;
661
+ imageMode?: 'fit' | 'fill';
662
+ };
663
+ declare const StoryPreviewThumbnail: React.FC<StoryPreviewThumbnailProps>;
664
+
665
+ type ViewStoryPageType = 'communityFeed' | 'globalFeed';
666
+ interface AmityViewStoryPageProps {
667
+ type: ViewStoryPageType;
668
+ targetId: string;
669
+ }
670
+ declare const ViewStoryPage: React.FC<AmityViewStoryPageProps>;
671
+
672
+ declare function StoryTargetSelectionPage(): React.JSX.Element;
673
+
674
+ declare function SelectPostTargetPage(): React.JSX.Element;
675
+
676
+ declare function MyCommunitiesSearchPage(): React.JSX.Element;
677
+
678
+ declare function SocialGlobalSearchPage(): React.JSX.Element;
679
+
680
+ interface PostDetailPageProps {
681
+ id: string;
682
+ }
683
+ declare function PostDetailPage({ id }: PostDetailPageProps): React.JSX.Element;
684
+
685
+ export { _default$1 as AmityAvatar, CommentTray as AmityCommentTrayComponent, 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, 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, Community as AmityUiKitSocial, UserSearchResult as AmityUserSearchResultComponent, ViewStoryPage as AmityViewStoryPage, addChatMembers as amityAddChatMembers, removeChatMembers as amityRemoveChatMembers, useNavigation as useAmityNavigation, useSDK as useAmitySDK, useUser as useAmityUser };