@webinex/chatify 1.0.0-rc2 → 1.0.0-rc3
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/css/chatify.css +183 -141
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/core/action.d.ts +110 -42
- package/dist/esm/types/core/client.d.ts +2 -1
- package/dist/esm/types/core/index.d.ts +11 -8
- package/dist/esm/types/core/models.d.ts +10 -4
- package/dist/esm/types/core/state.d.ts +36 -7
- package/dist/esm/types/core/useAddChatMutation.d.ts +2 -0
- package/dist/esm/types/core/useAddMemberMutation.d.ts +2 -0
- package/dist/esm/types/core/useFetchNextMutation.d.ts +3 -0
- package/dist/esm/types/core/useGetAccountsQuery.d.ts +1 -0
- package/dist/esm/types/core/useGetChatListQuery.d.ts +1 -0
- package/dist/{cjs/types/core/useChat.d.ts → esm/types/core/useGetChatQuery.d.ts} +1 -1
- package/dist/esm/types/core/useGetMessagesQuery.d.ts +4 -0
- package/dist/esm/types/core/useRemoveMemberMutation.d.ts +2 -0
- package/dist/esm/types/core/useSendMutation.d.ts +2 -0
- package/dist/esm/types/core/useUpdateChatNameMutation.d.ts +2 -0
- package/dist/esm/types/ui/AddChatButton.d.ts +2 -2
- package/dist/esm/types/ui/Avatar.d.ts +2 -2
- package/dist/esm/types/ui/ChatList/ChatList.d.ts +2 -0
- package/dist/esm/types/ui/ChatList/ChatListItemBox.d.ts +6 -0
- package/dist/esm/types/ui/ChatList/ChatListItemLastMessage.d.ts +3 -0
- package/dist/esm/types/ui/ChatList/ChatListItemLastMessageAuthor.d.ts +3 -0
- package/dist/esm/types/ui/ChatList/ChatListItemLastMessageContent.d.ts +3 -0
- package/dist/esm/types/ui/ChatList/ChatListItemName.d.ts +3 -0
- package/dist/esm/types/ui/ChatList/ChatListItemUnreadCount.d.ts +3 -0
- package/dist/esm/types/ui/ChatList/index.d.ts +7 -0
- package/dist/esm/types/ui/ChatName.d.ts +2 -2
- package/dist/esm/types/ui/ChatPanel/ChatBody.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/ChatHeader.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/ChatHeaderMembers.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/ChatHeaderName.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/ChatMembersButton.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/ChatMembersPanel.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/ChatPanel.d.ts +5 -0
- package/dist/esm/types/ui/ChatPanel/index.d.ts +6 -0
- package/dist/esm/types/ui/Chatify.d.ts +45 -23
- package/dist/esm/types/ui/CreateChatPanel/CreateChatForm.d.ts +11 -0
- package/dist/esm/types/ui/CreateChatPanel/CreateChatMemberInput.d.ts +5 -0
- package/dist/esm/types/ui/CreateChatPanel/CreateChatNameInput.d.ts +5 -0
- package/dist/esm/types/ui/CreateChatPanel/CreateChatPanel.d.ts +2 -0
- package/dist/esm/types/ui/CreateChatPanel/index.d.ts +4 -0
- package/dist/esm/types/ui/Icon.d.ts +13 -4
- package/dist/esm/types/ui/InputBox/InputBox.d.ts +2 -0
- package/dist/esm/types/ui/InputBox/InputFilesBox.d.ts +2 -0
- package/dist/esm/types/ui/InputBox/InputSubmitButtonBox.d.ts +5 -0
- package/dist/esm/types/ui/InputBox/InputTextBox.d.ts +7 -0
- package/dist/esm/types/ui/InputBox/index.d.ts +4 -0
- package/dist/esm/types/ui/Layout/Aside.d.ts +2 -0
- package/dist/esm/types/ui/Layout/Body.d.ts +2 -0
- package/dist/esm/types/ui/Layout/Footer.d.ts +2 -0
- package/dist/esm/types/ui/Layout/Header.d.ts +2 -0
- package/dist/esm/types/ui/Layout/Main.d.ts +2 -0
- package/dist/esm/types/ui/Layout/index.d.ts +5 -0
- package/dist/esm/types/ui/Message/MessageAuthor.d.ts +3 -0
- package/dist/esm/types/ui/Message/MessageBox.d.ts +6 -0
- package/dist/esm/types/ui/Message/MessageContent.d.ts +3 -0
- package/dist/esm/types/ui/Message/MessageInfoBox.d.ts +3 -0
- package/dist/esm/types/ui/Message/MessageRow.d.ts +6 -0
- package/dist/esm/types/ui/Message/MessageText.d.ts +3 -0
- package/dist/esm/types/ui/Message/index.d.ts +6 -0
- package/dist/esm/types/ui/MessageReadObserver.d.ts +6 -0
- package/dist/esm/types/ui/Next.d.ts +4 -0
- package/dist/esm/types/ui/SendingMessage/SendingMessageBox.d.ts +7 -0
- package/dist/esm/types/ui/SendingMessage/SendingMessageContent.d.ts +3 -0
- package/dist/esm/types/ui/SendingMessage/SendingMessageInfoBox.d.ts +3 -0
- package/dist/esm/types/ui/SendingMessage/SendingMessageText.d.ts +3 -0
- package/dist/esm/types/ui/SendingMessage/index.d.ts +4 -0
- package/dist/esm/types/ui/SystemMessage/SystemMessageBox.d.ts +6 -0
- package/dist/esm/types/ui/SystemMessage/SystemMessageRow.d.ts +9 -0
- package/dist/esm/types/ui/SystemMessage/index.d.ts +2 -0
- package/dist/esm/types/{util → ui}/customize.d.ts +2 -3
- package/dist/esm/types/ui/index.d.ts +6 -6
- package/dist/esm/types/ui/localizer.d.ts +5 -0
- package/dist/esm/types/util/index.d.ts +0 -1
- package/dist/index.d.ts +353 -142
- package/package.json +3 -1
- package/src/core/action.tsx +319 -233
- package/src/core/client.ts +6 -0
- package/src/core/index.ts +11 -8
- package/src/core/models.tsx +11 -4
- package/src/core/reducer.tsx +2 -1
- package/src/core/state.ts +68 -14
- package/src/core/useAddChatMutation.tsx +22 -0
- package/src/core/useAddMemberMutation.tsx +25 -0
- package/src/core/useFetchNextMutation.tsx +28 -0
- package/src/core/useGetAccountsQuery.tsx +33 -0
- package/src/core/useGetChatListQuery.tsx +33 -0
- package/src/core/useGetChatQuery.tsx +34 -0
- package/src/core/useGetMessagesQuery.tsx +35 -0
- package/src/core/useReadMonitor.tsx +8 -7
- package/src/core/useRemoveMemberMutation.tsx +23 -0
- package/src/core/useSendMutation.tsx +24 -0
- package/src/core/useSignalRMonitor.tsx +19 -5
- package/src/core/useUpdateChatNameMutation.tsx +23 -0
- package/src/{ui/styles → styles}/aside.scss +1 -1
- package/src/styles/chat.scss +222 -0
- package/src/styles/index.scss +79 -0
- package/src/styles/settings.scss +5 -0
- package/src/ui/AddChatButton.tsx +4 -8
- package/src/ui/Avatar.tsx +1 -1
- package/src/ui/ChatList/ChatList.tsx +42 -0
- package/src/ui/ChatList/ChatListItemBox.tsx +22 -0
- package/src/ui/ChatList/ChatListItemLastMessage.tsx +13 -0
- package/src/ui/ChatList/ChatListItemLastMessageAuthor.tsx +20 -0
- package/src/ui/ChatList/ChatListItemLastMessageContent.tsx +21 -0
- package/src/ui/ChatList/ChatListItemName.tsx +13 -0
- package/src/ui/ChatList/ChatListItemUnreadCount.tsx +12 -0
- package/src/ui/ChatList/index.ts +7 -0
- package/src/ui/ChatName.tsx +3 -8
- package/src/ui/ChatPanel/ChatBody.tsx +44 -0
- package/src/ui/ChatPanel/ChatHeader.tsx +33 -0
- package/src/ui/{ChatHeaderMembers.tsx → ChatPanel/ChatHeaderMembers.tsx} +5 -9
- package/src/ui/ChatPanel/ChatHeaderName.tsx +67 -0
- package/src/ui/ChatPanel/ChatMembersButton.tsx +21 -0
- package/src/ui/ChatPanel/ChatMembersPanel.tsx +117 -0
- package/src/ui/ChatPanel/ChatPanel.tsx +27 -0
- package/src/ui/ChatPanel/index.ts +6 -0
- package/src/ui/Chatify.tsx +78 -36
- package/src/ui/CreateChatPanel/CreateChatForm.tsx +36 -0
- package/src/ui/CreateChatPanel/CreateChatMemberInput.tsx +66 -0
- package/src/ui/CreateChatPanel/CreateChatNameInput.tsx +25 -0
- package/src/ui/CreateChatPanel/CreateChatPanel.tsx +33 -0
- package/src/ui/CreateChatPanel/index.ts +4 -0
- package/src/ui/Icon.tsx +18 -6
- package/src/ui/InputBox/InputBox.tsx +38 -0
- package/src/ui/InputBox/InputFilesBox.tsx +9 -0
- package/src/ui/InputBox/InputSubmitButtonBox.tsx +17 -0
- package/src/ui/InputBox/InputTextBox.tsx +50 -0
- package/src/ui/InputBox/index.ts +4 -0
- package/src/ui/Layout/Aside.tsx +10 -0
- package/src/ui/Layout/Body.tsx +10 -0
- package/src/ui/Layout/Footer.tsx +3 -0
- package/src/ui/Layout/Header.tsx +10 -0
- package/src/ui/Layout/Main.tsx +15 -0
- package/src/ui/Layout/index.ts +5 -0
- package/src/ui/Message/MessageAuthor.tsx +13 -0
- package/src/ui/Message/MessageBox.tsx +20 -0
- package/src/ui/Message/MessageContent.tsx +13 -0
- package/src/ui/Message/MessageInfoBox.tsx +25 -0
- package/src/ui/Message/MessageRow.tsx +24 -0
- package/src/ui/Message/MessageText.tsx +7 -0
- package/src/ui/Message/index.ts +6 -0
- package/src/ui/MessageReadObserver.tsx +45 -0
- package/src/ui/{LoadMore.tsx → Next.tsx} +16 -8
- package/src/ui/SendingMessage/SendingMessageBox.tsx +16 -0
- package/src/ui/SendingMessage/SendingMessageContent.tsx +13 -0
- package/src/ui/SendingMessage/SendingMessageInfoBox.tsx +13 -0
- package/src/ui/SendingMessage/SendingMessageText.tsx +7 -0
- package/src/ui/SendingMessage/index.ts +4 -0
- package/src/ui/SystemMessage/SystemMessageBox.tsx +20 -0
- package/src/ui/SystemMessage/SystemMessageRow.tsx +43 -0
- package/src/ui/SystemMessage/index.ts +2 -0
- package/src/{util → ui}/customize.tsx +5 -5
- package/src/ui/index.ts +6 -6
- package/src/ui/localizer.tsx +12 -0
- package/src/util/index.ts +0 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/types/ChatifyContext.d.ts +0 -11
- package/dist/cjs/types/core/action.d.ts +0 -76
- package/dist/cjs/types/core/client.d.ts +0 -35
- package/dist/cjs/types/core/index.d.ts +0 -14
- package/dist/cjs/types/core/models.d.ts +0 -64
- package/dist/cjs/types/core/reducer.d.ts +0 -11
- package/dist/cjs/types/core/state.d.ts +0 -25
- package/dist/cjs/types/core/useAccounts.d.ts +0 -1
- package/dist/cjs/types/core/useAddChat.d.ts +0 -2
- package/dist/cjs/types/core/useAddMember.d.ts +0 -2
- package/dist/cjs/types/core/useAddMessage.d.ts +0 -5
- package/dist/cjs/types/core/useChatList.d.ts +0 -1
- package/dist/cjs/types/core/useLoadMore.d.ts +0 -3
- package/dist/cjs/types/core/useMessages.d.ts +0 -15
- package/dist/cjs/types/core/useMutation.d.ts +0 -12
- package/dist/cjs/types/core/useQuery.d.ts +0 -7
- package/dist/cjs/types/core/useReadMonitor.d.ts +0 -1
- package/dist/cjs/types/core/useRemoveMember.d.ts +0 -2
- package/dist/cjs/types/core/useSignalRMonitor.d.ts +0 -2
- package/dist/cjs/types/index.d.ts +0 -3
- package/dist/cjs/types/ui/AddChat.d.ts +0 -1
- package/dist/cjs/types/ui/AddChatButton.d.ts +0 -2
- package/dist/cjs/types/ui/Aside.d.ts +0 -1
- package/dist/cjs/types/ui/Avatar.d.ts +0 -6
- package/dist/cjs/types/ui/Chat.d.ts +0 -4
- package/dist/cjs/types/ui/ChatBody.d.ts +0 -4
- package/dist/cjs/types/ui/ChatHeader.d.ts +0 -4
- package/dist/cjs/types/ui/ChatHeaderMembers.d.ts +0 -5
- package/dist/cjs/types/ui/ChatHeaderSettingsButton.d.ts +0 -5
- package/dist/cjs/types/ui/ChatListItem.d.ts +0 -11
- package/dist/cjs/types/ui/ChatName.d.ts +0 -5
- package/dist/cjs/types/ui/ChatSettings.d.ts +0 -1
- package/dist/cjs/types/ui/Chatify.d.ts +0 -49
- package/dist/cjs/types/ui/Footer.d.ts +0 -2
- package/dist/cjs/types/ui/Header.d.ts +0 -2
- package/dist/cjs/types/ui/Icon.d.ts +0 -7
- package/dist/cjs/types/ui/InputForm.d.ts +0 -1
- package/dist/cjs/types/ui/LoadMore.d.ts +0 -4
- package/dist/cjs/types/ui/Main.d.ts +0 -1
- package/dist/cjs/types/ui/Message.d.ts +0 -18
- package/dist/cjs/types/ui/MessageSkeleton.d.ts +0 -4
- package/dist/cjs/types/ui/SendingMessage.d.ts +0 -10
- package/dist/cjs/types/ui/SystemMessage.d.ts +0 -8
- package/dist/cjs/types/ui/index.d.ts +0 -11
- package/dist/cjs/types/ui/localizer.d.ts +0 -32
- package/dist/cjs/types/util/customize.d.ts +0 -12
- package/dist/cjs/types/util/index.d.ts +0 -3
- package/dist/cjs/types/util/uniqBy.d.ts +0 -1
- package/dist/cjs/types/util/uniqId.d.ts +0 -1
- package/dist/esm/types/core/useAccounts.d.ts +0 -1
- package/dist/esm/types/core/useAddChat.d.ts +0 -2
- package/dist/esm/types/core/useAddMember.d.ts +0 -2
- package/dist/esm/types/core/useAddMessage.d.ts +0 -5
- package/dist/esm/types/core/useChat.d.ts +0 -3
- package/dist/esm/types/core/useChatList.d.ts +0 -1
- package/dist/esm/types/core/useLoadMore.d.ts +0 -3
- package/dist/esm/types/core/useMessages.d.ts +0 -15
- package/dist/esm/types/core/useMutation.d.ts +0 -12
- package/dist/esm/types/core/useQuery.d.ts +0 -7
- package/dist/esm/types/core/useRemoveMember.d.ts +0 -2
- package/dist/esm/types/ui/AddChat.d.ts +0 -1
- package/dist/esm/types/ui/Aside.d.ts +0 -1
- package/dist/esm/types/ui/Chat.d.ts +0 -4
- package/dist/esm/types/ui/ChatBody.d.ts +0 -4
- package/dist/esm/types/ui/ChatHeader.d.ts +0 -4
- package/dist/esm/types/ui/ChatHeaderMembers.d.ts +0 -5
- package/dist/esm/types/ui/ChatHeaderSettingsButton.d.ts +0 -5
- package/dist/esm/types/ui/ChatListItem.d.ts +0 -11
- package/dist/esm/types/ui/ChatSettings.d.ts +0 -1
- package/dist/esm/types/ui/Footer.d.ts +0 -2
- package/dist/esm/types/ui/Header.d.ts +0 -2
- package/dist/esm/types/ui/InputForm.d.ts +0 -1
- package/dist/esm/types/ui/LoadMore.d.ts +0 -4
- package/dist/esm/types/ui/Main.d.ts +0 -1
- package/dist/esm/types/ui/Message.d.ts +0 -18
- package/dist/esm/types/ui/SendingMessage.d.ts +0 -10
- package/dist/esm/types/ui/SystemMessage.d.ts +0 -8
- package/src/core/useAccounts.tsx +0 -11
- package/src/core/useAddChat.tsx +0 -12
- package/src/core/useAddMember.tsx +0 -12
- package/src/core/useAddMessage.tsx +0 -40
- package/src/core/useChat.tsx +0 -12
- package/src/core/useChatList.tsx +0 -10
- package/src/core/useLoadMore.tsx +0 -42
- package/src/core/useMessages.tsx +0 -23
- package/src/core/useMutation.tsx +0 -48
- package/src/core/useQuery.tsx +0 -45
- package/src/core/useRemoveMember.tsx +0 -12
- package/src/ui/AddChat.tsx +0 -55
- package/src/ui/Aside.tsx +0 -41
- package/src/ui/Chat.tsx +0 -26
- package/src/ui/ChatBody.tsx +0 -43
- package/src/ui/ChatHeader.tsx +0 -33
- package/src/ui/ChatHeaderSettingsButton.tsx +0 -26
- package/src/ui/ChatListItem.tsx +0 -101
- package/src/ui/ChatSettings.tsx +0 -59
- package/src/ui/Footer.tsx +0 -7
- package/src/ui/Header.tsx +0 -14
- package/src/ui/InputForm.tsx +0 -51
- package/src/ui/Main.tsx +0 -16
- package/src/ui/Message.tsx +0 -118
- package/src/ui/SendingMessage.tsx +0 -50
- package/src/ui/SystemMessage.tsx +0 -32
- package/src/ui/styles/index.scss +0 -248
- /package/src/{ui/styles → styles}/keyframes.scss +0 -0
- /package/src/{ui/styles → styles}/mixins.scss +0 -0
- /package/src/{ui/styles → styles}/variables.scss +0 -0
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { FC, Ref, RefObject } from 'react';
|
|
2
|
-
import { Message } from '../core';
|
|
3
|
-
export interface MessageBoxProps {
|
|
4
|
-
message: Message;
|
|
5
|
-
}
|
|
6
|
-
export interface MessageRowProps extends MessageBoxProps {
|
|
7
|
-
containerRef?: Ref<HTMLDivElement>;
|
|
8
|
-
}
|
|
9
|
-
export declare const MessageAuthor: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
10
|
-
export declare const MessageText: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
11
|
-
export declare const MessageInfoBox: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
12
|
-
export declare const MessageContent: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
13
|
-
export declare const MessageRow: import("../util").Customizable<FC<MessageRowProps>, string>;
|
|
14
|
-
export declare const MessageBox: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
15
|
-
export interface MessageReadObserverProps extends MessageBoxProps {
|
|
16
|
-
messageRef: RefObject<HTMLDivElement | null>;
|
|
17
|
-
}
|
|
18
|
-
export declare const MessageReadObserver: import("../util").Customizable<FC<MessageReadObserverProps>, string>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { File } from '../core';
|
|
3
|
-
export interface SendingMessageProps {
|
|
4
|
-
text: string;
|
|
5
|
-
files: File[];
|
|
6
|
-
}
|
|
7
|
-
export declare const SendingMessageText: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
8
|
-
export declare const SendingMessageInfoBox: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
9
|
-
export declare const SendingMessageContent: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
10
|
-
export declare const SendingMessage: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { Localizer } from './localizer';
|
|
3
|
-
export interface SystemMessageProps {
|
|
4
|
-
text: string;
|
|
5
|
-
sentAt: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function formatSystemMessage(localizer: Localizer, text: string): React.ReactNode;
|
|
8
|
-
export declare const SystemMessage: import("../util").Customizable<FC<SystemMessageProps>, string>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './Chatify';
|
|
2
|
-
export * from './Avatar';
|
|
3
|
-
export * from './localizer';
|
|
4
|
-
export * from './AddChatButton';
|
|
5
|
-
export * from './Header';
|
|
6
|
-
export * from './ChatHeader';
|
|
7
|
-
export * from './ChatHeaderMembers';
|
|
8
|
-
export * from './ChatListItem';
|
|
9
|
-
export * from './Message';
|
|
10
|
-
export * from './SystemMessage';
|
|
11
|
-
export * from './Icon';
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface Localizer {
|
|
3
|
-
timestamp: (value: string) => string;
|
|
4
|
-
system: {
|
|
5
|
-
chatCreated: () => string;
|
|
6
|
-
memberAdded: () => string;
|
|
7
|
-
};
|
|
8
|
-
message: {
|
|
9
|
-
read: () => React.ReactNode;
|
|
10
|
-
reading: () => React.ReactNode;
|
|
11
|
-
sending: () => React.ReactNode;
|
|
12
|
-
};
|
|
13
|
-
addChat: {
|
|
14
|
-
title: () => React.ReactNode;
|
|
15
|
-
name: {
|
|
16
|
-
label: () => React.ReactNode;
|
|
17
|
-
required: () => string;
|
|
18
|
-
max250: () => string;
|
|
19
|
-
};
|
|
20
|
-
members: {
|
|
21
|
-
label: () => React.ReactNode;
|
|
22
|
-
required: () => string;
|
|
23
|
-
};
|
|
24
|
-
submitBtn: () => React.ReactNode;
|
|
25
|
-
};
|
|
26
|
-
input: {
|
|
27
|
-
placeholder: () => string;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export declare const LocalizerContext: React.Context<Localizer>;
|
|
31
|
-
export declare function useLocalizer(): Localizer;
|
|
32
|
-
export declare const defaultLocalizer: Localizer;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
export type Customizable<TComponent extends React.ComponentType<any>, TKey extends string> = TComponent & {
|
|
3
|
-
Component: TComponent;
|
|
4
|
-
key: TKey;
|
|
5
|
-
};
|
|
6
|
-
export interface CustomizeProviderValue {
|
|
7
|
-
[key: string]: React.ComponentType<any> | null;
|
|
8
|
-
}
|
|
9
|
-
export declare function CustomizeProvider(props: PropsWithChildren<{
|
|
10
|
-
value: CustomizeProviderValue;
|
|
11
|
-
}>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
export declare function customize<TComponent extends React.ComponentType<any>, TKey extends string>(key: TKey, Component: TComponent): Customizable<TComponent, TKey>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function uniqBy<T, TKey extends string | number | symbol>(items: T[], selector: (x: T) => TKey): T[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function uniqId(): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useAccounts(): import("./state").QueryState<import("./models").Account[]>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useChatList(): import("./state").QueryState<import("./models").ChatListItem[]>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { File, Message } from './models';
|
|
2
|
-
import { QueryState } from './state';
|
|
3
|
-
export type MessageState = ({
|
|
4
|
-
type: 'message';
|
|
5
|
-
} & Message) | {
|
|
6
|
-
type: 'more';
|
|
7
|
-
} | {
|
|
8
|
-
type: 'sending';
|
|
9
|
-
text: string;
|
|
10
|
-
files: File[];
|
|
11
|
-
requestId: string;
|
|
12
|
-
};
|
|
13
|
-
export declare function useMessages(args: {
|
|
14
|
-
chatId: string;
|
|
15
|
-
}): QueryState<MessageState[]>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { MutationState, State } from './state';
|
|
2
|
-
export interface MutationApi<TResult> {
|
|
3
|
-
promise: Promise<TResult>;
|
|
4
|
-
state: State;
|
|
5
|
-
updateState: (mutation: (state: State) => State) => void;
|
|
6
|
-
}
|
|
7
|
-
export interface UseMutationArgs<TResult = unknown, TArgs = void> {
|
|
8
|
-
key: string;
|
|
9
|
-
queryFn: (args: TArgs) => Promise<TResult>;
|
|
10
|
-
onQueryStarted?: (args: TArgs, api: MutationApi<TResult>) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare function useMutation<TResult = unknown, TArgs = void>(args: UseMutationArgs<TResult, TArgs>): readonly [(args: TArgs) => void, MutationState];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function AddChat(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Aside(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ChatListItem as ChatListItemModel } from '../core';
|
|
2
|
-
import { FC } from 'react';
|
|
3
|
-
export interface ChatListItemBoxProps {
|
|
4
|
-
chat: ChatListItemModel;
|
|
5
|
-
}
|
|
6
|
-
export declare const ChatListItemName: import("../util").Customizable<FC<ChatListItemBoxProps>, "ChatListItemName">;
|
|
7
|
-
export declare const ChatListItemUnreadCount: import("../util").Customizable<FC<ChatListItemBoxProps>, "ChatListItemUnreadCount">;
|
|
8
|
-
export declare const ChatListItemLastMessage: import("../util").Customizable<FC<ChatListItemBoxProps>, "ChatListItemLastMessage">;
|
|
9
|
-
export declare const ChatListItemLastMessageAuthor: import("../util").Customizable<FC<ChatListItemBoxProps>, string>;
|
|
10
|
-
export declare const ChatListItemLastMessageContent: import("../util").Customizable<FC<ChatListItemBoxProps>, string>;
|
|
11
|
-
export declare const ChatListItemBox: import("../util").Customizable<FC<ChatListItemBoxProps>, "ChatListItemBox">;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ChatSettings(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function InputForm(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Main(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { FC, Ref, RefObject } from 'react';
|
|
2
|
-
import { Message } from '../core';
|
|
3
|
-
export interface MessageBoxProps {
|
|
4
|
-
message: Message;
|
|
5
|
-
}
|
|
6
|
-
export interface MessageRowProps extends MessageBoxProps {
|
|
7
|
-
containerRef?: Ref<HTMLDivElement>;
|
|
8
|
-
}
|
|
9
|
-
export declare const MessageAuthor: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
10
|
-
export declare const MessageText: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
11
|
-
export declare const MessageInfoBox: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
12
|
-
export declare const MessageContent: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
13
|
-
export declare const MessageRow: import("../util").Customizable<FC<MessageRowProps>, string>;
|
|
14
|
-
export declare const MessageBox: import("../util").Customizable<FC<MessageBoxProps>, string>;
|
|
15
|
-
export interface MessageReadObserverProps extends MessageBoxProps {
|
|
16
|
-
messageRef: RefObject<HTMLDivElement | null>;
|
|
17
|
-
}
|
|
18
|
-
export declare const MessageReadObserver: import("../util").Customizable<FC<MessageReadObserverProps>, string>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { File } from '../core';
|
|
3
|
-
export interface SendingMessageProps {
|
|
4
|
-
text: string;
|
|
5
|
-
files: File[];
|
|
6
|
-
}
|
|
7
|
-
export declare const SendingMessageText: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
8
|
-
export declare const SendingMessageInfoBox: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
9
|
-
export declare const SendingMessageContent: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
10
|
-
export declare const SendingMessage: import("../util").Customizable<FC<SendingMessageProps>, string>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { Localizer } from './localizer';
|
|
3
|
-
export interface SystemMessageProps {
|
|
4
|
-
text: string;
|
|
5
|
-
sentAt: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function formatSystemMessage(localizer: Localizer, text: string): React.ReactNode;
|
|
8
|
-
export declare const SystemMessage: import("../util").Customizable<FC<SystemMessageProps>, string>;
|
package/src/core/useAccounts.tsx
DELETED
package/src/core/useAddChat.tsx
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { AddChatRequest } from './models';
|
|
3
|
-
import { useMutation } from './useMutation';
|
|
4
|
-
|
|
5
|
-
export function useAddChat() {
|
|
6
|
-
const client = useClient();
|
|
7
|
-
|
|
8
|
-
return useMutation({
|
|
9
|
-
key: 'add-chat',
|
|
10
|
-
queryFn: (args: AddChatRequest) => client.addChat(args),
|
|
11
|
-
});
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { AddMemberRequest } from './models';
|
|
3
|
-
import { useMutation } from './useMutation';
|
|
4
|
-
|
|
5
|
-
export function useAddMember() {
|
|
6
|
-
const client = useClient();
|
|
7
|
-
|
|
8
|
-
return useMutation({
|
|
9
|
-
key: 'add-member',
|
|
10
|
-
queryFn: (args: AddMemberRequest) => client.addMember(args),
|
|
11
|
-
});
|
|
12
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { SendMessageRequest } from './models';
|
|
3
|
-
import { QueryState } from './state';
|
|
4
|
-
import { MessageState } from './useMessages';
|
|
5
|
-
import { useMutation } from './useMutation';
|
|
6
|
-
|
|
7
|
-
export interface UseAddMessageArgs {
|
|
8
|
-
chatId: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function useAddMessage(args: UseAddMessageArgs) {
|
|
12
|
-
const { chatId } = args;
|
|
13
|
-
const client = useClient();
|
|
14
|
-
|
|
15
|
-
return useMutation<unknown, Omit<SendMessageRequest, 'chatId'>>({
|
|
16
|
-
key: 'add.' + chatId,
|
|
17
|
-
queryFn: (args) => client.send({ chatId, ...args }),
|
|
18
|
-
onQueryStarted: async (args, { updateState }) => {
|
|
19
|
-
updateState((state) => {
|
|
20
|
-
state = {
|
|
21
|
-
...state,
|
|
22
|
-
query: {
|
|
23
|
-
...state.query,
|
|
24
|
-
['messages.' + chatId]: {
|
|
25
|
-
...state.query['messages.' + chatId],
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const queryState: QueryState<MessageState[]> = state.query['messages.' + chatId];
|
|
31
|
-
queryState.data = [
|
|
32
|
-
{ type: 'sending', text: args.text, requestId: args.requestId, files: args.files },
|
|
33
|
-
...queryState.data!,
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
return state;
|
|
37
|
-
});
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
}
|
package/src/core/useChat.tsx
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { useQuery } from './useQuery';
|
|
3
|
-
|
|
4
|
-
export function useChat(args: { chatId: string }) {
|
|
5
|
-
const { chatId } = args;
|
|
6
|
-
const client = useClient();
|
|
7
|
-
|
|
8
|
-
return useQuery({
|
|
9
|
-
key: 'chat.' + chatId,
|
|
10
|
-
queryFn: () => client.chat(chatId),
|
|
11
|
-
});
|
|
12
|
-
}
|
package/src/core/useChatList.tsx
DELETED
package/src/core/useLoadMore.tsx
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { useMutation } from './useMutation';
|
|
3
|
-
import { MessageState } from './useMessages';
|
|
4
|
-
import { useStateRef } from './reducer';
|
|
5
|
-
import { QueryState } from './state';
|
|
6
|
-
|
|
7
|
-
export function useLoadMore({ chatId }: { chatId: string }) {
|
|
8
|
-
const state = useStateRef();
|
|
9
|
-
const client = useClient();
|
|
10
|
-
|
|
11
|
-
return useMutation({
|
|
12
|
-
key: 'more.' + chatId,
|
|
13
|
-
queryFn: () =>
|
|
14
|
-
client.messages({
|
|
15
|
-
chatId,
|
|
16
|
-
skip: state.current.query['messages.' + chatId].data.filter((x: MessageState) => x.type === 'message')
|
|
17
|
-
.length,
|
|
18
|
-
take: 15,
|
|
19
|
-
}),
|
|
20
|
-
|
|
21
|
-
onQueryStarted: async (_, { promise, updateState }) => {
|
|
22
|
-
const result = await promise;
|
|
23
|
-
updateState((state) => {
|
|
24
|
-
state = { ...state };
|
|
25
|
-
state.query = { ...state.query };
|
|
26
|
-
state.query['messages.' + chatId] = { ...state.query['messages.' + chatId] };
|
|
27
|
-
const value: QueryState<MessageState[]> = state.query['messages.' + chatId];
|
|
28
|
-
value.data = value.data?.filter((x) => x.type !== 'more');
|
|
29
|
-
value.data = [
|
|
30
|
-
...value.data!,
|
|
31
|
-
...result.map((x) => ({ type: 'message' as const, ...x, proceed: true })),
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
if (result.length === 15) {
|
|
35
|
-
value.data = [...value.data!, { type: 'more' }];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return state;
|
|
39
|
-
});
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
}
|
package/src/core/useMessages.tsx
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { File, Message } from './models';
|
|
3
|
-
import { QueryState } from './state';
|
|
4
|
-
import { useQuery } from './useQuery';
|
|
5
|
-
|
|
6
|
-
export type MessageState =
|
|
7
|
-
| ({ type: 'message' } & Message)
|
|
8
|
-
| { type: 'more' }
|
|
9
|
-
| { type: 'sending'; text: string; files: File[]; requestId: string };
|
|
10
|
-
|
|
11
|
-
export function useMessages(args: { chatId: string }): QueryState<MessageState[]> {
|
|
12
|
-
const { chatId } = args;
|
|
13
|
-
const client = useClient();
|
|
14
|
-
|
|
15
|
-
return useQuery({
|
|
16
|
-
key: 'messages.' + chatId,
|
|
17
|
-
queryFn: () =>
|
|
18
|
-
client.messages({ chatId, skip: 0, take: 15 }).then((x) => {
|
|
19
|
-
const result = x.map((message) => ({ type: 'message' as const, ...message, proceed: true }));
|
|
20
|
-
return x.length === 15 ? [...result, { type: 'more' as const }] : result;
|
|
21
|
-
}),
|
|
22
|
-
});
|
|
23
|
-
}
|
package/src/core/useMutation.tsx
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { useDispatch, useSelect, useStateRef } from './reducer';
|
|
3
|
-
import { MutationState, State } from './state';
|
|
4
|
-
|
|
5
|
-
export interface MutationApi<TResult> {
|
|
6
|
-
promise: Promise<TResult>;
|
|
7
|
-
state: State;
|
|
8
|
-
updateState: (mutation: (state: State) => State) => void;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface UseMutationArgs<TResult = unknown, TArgs = void> {
|
|
12
|
-
key: string;
|
|
13
|
-
queryFn: (args: TArgs) => Promise<TResult>;
|
|
14
|
-
onQueryStarted?: (args: TArgs, api: MutationApi<TResult>) => void;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const INITIAL_MUTATION_STATE: MutationState = { isFetching: false, error: undefined };
|
|
18
|
-
|
|
19
|
-
export function useMutation<TResult = unknown, TArgs = void>(args: UseMutationArgs<TResult, TArgs>) {
|
|
20
|
-
const { key, queryFn, onQueryStarted } = args;
|
|
21
|
-
const dispatch = useDispatch();
|
|
22
|
-
const state = useStateRef();
|
|
23
|
-
const mutationState = useSelect((x) => x.mutation[args.key], []);
|
|
24
|
-
|
|
25
|
-
const invoke = useCallback((args: TArgs) => {
|
|
26
|
-
dispatch({ type: 'mutation_fetch', data: { key } });
|
|
27
|
-
const promise = queryFn(args);
|
|
28
|
-
|
|
29
|
-
promise
|
|
30
|
-
.then(() => {
|
|
31
|
-
dispatch({ type: 'mutation_resolve', data: { key } });
|
|
32
|
-
})
|
|
33
|
-
.catch((error) => dispatch({ type: 'mutation_reject', data: { key, error } }));
|
|
34
|
-
|
|
35
|
-
onQueryStarted &&
|
|
36
|
-
onQueryStarted(args, {
|
|
37
|
-
promise,
|
|
38
|
-
state: state.current,
|
|
39
|
-
updateState: (mutation: (state: State) => State) => {
|
|
40
|
-
dispatch({ type: 'update', data: { mutation } });
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
45
|
-
}, []);
|
|
46
|
-
|
|
47
|
-
return [invoke, mutationState ?? INITIAL_MUTATION_STATE] as const;
|
|
48
|
-
}
|
package/src/core/useQuery.tsx
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import { useDispatch, useSelect, useStateRef } from './reducer';
|
|
3
|
-
import { QueryState, State } from './state';
|
|
4
|
-
|
|
5
|
-
interface UseQueryArgs<TData> {
|
|
6
|
-
key: string;
|
|
7
|
-
queryFn: () => Promise<TData>;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const INITIAL_QUERY_STATE: QueryState<any> = {
|
|
11
|
-
uninitialized: false,
|
|
12
|
-
isFetching: true,
|
|
13
|
-
data: undefined,
|
|
14
|
-
error: undefined,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
function select<TData>(state: State, key: string): QueryState<TData> | undefined {
|
|
18
|
-
return (state.query as any)[key];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function useQueryState<TData>(key: string): QueryState<TData> | undefined {
|
|
22
|
-
return useSelect((x) => select<TData>(x, key), []);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function useQuery<TData>(args: UseQueryArgs<TData>): QueryState<TData> {
|
|
26
|
-
const { key, queryFn } = args;
|
|
27
|
-
const state = useStateRef();
|
|
28
|
-
const dispatch = useDispatch();
|
|
29
|
-
const queryState = useQueryState<TData>(args.key);
|
|
30
|
-
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
if (select(state.current, key)) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
dispatch({ type: 'query_fetch', data: { key } });
|
|
37
|
-
queryFn()
|
|
38
|
-
.then((data) => dispatch({ type: 'query_resolve', data: { key, data: data as any } }))
|
|
39
|
-
.catch((error) => dispatch({ type: 'query_reject', data: { key, error } }));
|
|
40
|
-
|
|
41
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
|
-
}, []);
|
|
43
|
-
|
|
44
|
-
return queryState ?? INITIAL_QUERY_STATE;
|
|
45
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { useClient } from '../ChatifyContext';
|
|
2
|
-
import { RemoveMemberRequest } from './models';
|
|
3
|
-
import { useMutation } from './useMutation';
|
|
4
|
-
|
|
5
|
-
export function useRemoveMember() {
|
|
6
|
-
const client = useClient();
|
|
7
|
-
|
|
8
|
-
return useMutation({
|
|
9
|
-
key: 'remove-member',
|
|
10
|
-
queryFn: (args: RemoveMemberRequest) => client.removeMember(args),
|
|
11
|
-
});
|
|
12
|
-
}
|