@webinex/chatify 1.0.0-rc2 → 1.0.1-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.
Files changed (273) hide show
  1. package/dist/css/chatify.css +183 -141
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/types/core/action.d.ts +110 -42
  5. package/dist/esm/types/core/client.d.ts +2 -1
  6. package/dist/esm/types/core/index.d.ts +11 -8
  7. package/dist/esm/types/core/models.d.ts +10 -4
  8. package/dist/esm/types/core/state.d.ts +36 -7
  9. package/dist/esm/types/core/useAddChatMutation.d.ts +2 -0
  10. package/dist/esm/types/core/useAddMemberMutation.d.ts +2 -0
  11. package/dist/esm/types/core/useFetchNextMutation.d.ts +3 -0
  12. package/dist/esm/types/core/useGetAccountsQuery.d.ts +1 -0
  13. package/dist/esm/types/core/useGetChatListQuery.d.ts +1 -0
  14. package/dist/{cjs/types/core/useChat.d.ts → esm/types/core/useGetChatQuery.d.ts} +1 -1
  15. package/dist/esm/types/core/useGetMessagesQuery.d.ts +4 -0
  16. package/dist/esm/types/core/useRemoveMemberMutation.d.ts +2 -0
  17. package/dist/esm/types/core/useSendMutation.d.ts +2 -0
  18. package/dist/esm/types/core/useUpdateChatNameMutation.d.ts +2 -0
  19. package/dist/esm/types/ui/AddChatButton.d.ts +2 -2
  20. package/dist/esm/types/ui/Avatar.d.ts +2 -2
  21. package/dist/esm/types/ui/ChatList/ChatList.d.ts +2 -0
  22. package/dist/esm/types/ui/ChatList/ChatListItemBox.d.ts +6 -0
  23. package/dist/esm/types/ui/ChatList/ChatListItemLastMessage.d.ts +3 -0
  24. package/dist/esm/types/ui/ChatList/ChatListItemLastMessageAuthor.d.ts +3 -0
  25. package/dist/esm/types/ui/ChatList/ChatListItemLastMessageContent.d.ts +3 -0
  26. package/dist/esm/types/ui/ChatList/ChatListItemName.d.ts +3 -0
  27. package/dist/esm/types/ui/ChatList/ChatListItemUnreadCount.d.ts +3 -0
  28. package/dist/esm/types/ui/ChatList/index.d.ts +7 -0
  29. package/dist/esm/types/ui/ChatName.d.ts +2 -2
  30. package/dist/esm/types/ui/ChatPanel/ChatBody.d.ts +5 -0
  31. package/dist/esm/types/ui/ChatPanel/ChatHeader.d.ts +5 -0
  32. package/dist/esm/types/ui/ChatPanel/ChatHeaderMembers.d.ts +5 -0
  33. package/dist/esm/types/ui/ChatPanel/ChatHeaderName.d.ts +5 -0
  34. package/dist/esm/types/ui/ChatPanel/ChatMembersButton.d.ts +5 -0
  35. package/dist/esm/types/ui/ChatPanel/ChatMembersPanel.d.ts +5 -0
  36. package/dist/esm/types/ui/ChatPanel/ChatPanel.d.ts +5 -0
  37. package/dist/esm/types/ui/ChatPanel/index.d.ts +6 -0
  38. package/dist/esm/types/ui/Chatify.d.ts +45 -23
  39. package/dist/esm/types/ui/CreateChatPanel/CreateChatForm.d.ts +11 -0
  40. package/dist/esm/types/ui/CreateChatPanel/CreateChatMemberInput.d.ts +5 -0
  41. package/dist/esm/types/ui/CreateChatPanel/CreateChatNameInput.d.ts +5 -0
  42. package/dist/esm/types/ui/CreateChatPanel/CreateChatPanel.d.ts +2 -0
  43. package/dist/esm/types/ui/CreateChatPanel/index.d.ts +4 -0
  44. package/dist/esm/types/ui/Icon.d.ts +13 -4
  45. package/dist/esm/types/ui/InputBox/InputBox.d.ts +2 -0
  46. package/dist/esm/types/ui/InputBox/InputFilesBox.d.ts +2 -0
  47. package/dist/esm/types/ui/InputBox/InputSubmitButtonBox.d.ts +5 -0
  48. package/dist/esm/types/ui/InputBox/InputTextBox.d.ts +7 -0
  49. package/dist/esm/types/ui/InputBox/index.d.ts +4 -0
  50. package/dist/esm/types/ui/Layout/Aside.d.ts +2 -0
  51. package/dist/esm/types/ui/Layout/Body.d.ts +2 -0
  52. package/dist/esm/types/ui/Layout/Footer.d.ts +2 -0
  53. package/dist/esm/types/ui/Layout/Header.d.ts +2 -0
  54. package/dist/esm/types/ui/Layout/Main.d.ts +2 -0
  55. package/dist/esm/types/ui/Layout/index.d.ts +5 -0
  56. package/dist/esm/types/ui/Message/MessageAuthor.d.ts +3 -0
  57. package/dist/esm/types/ui/Message/MessageBox.d.ts +6 -0
  58. package/dist/esm/types/ui/Message/MessageContent.d.ts +3 -0
  59. package/dist/esm/types/ui/Message/MessageInfoBox.d.ts +3 -0
  60. package/dist/esm/types/ui/Message/MessageRow.d.ts +6 -0
  61. package/dist/esm/types/ui/Message/MessageText.d.ts +3 -0
  62. package/dist/esm/types/ui/Message/index.d.ts +6 -0
  63. package/dist/esm/types/ui/MessageReadObserver.d.ts +6 -0
  64. package/dist/esm/types/ui/Next.d.ts +4 -0
  65. package/dist/esm/types/ui/SendingMessage/SendingMessageBox.d.ts +7 -0
  66. package/dist/esm/types/ui/SendingMessage/SendingMessageContent.d.ts +3 -0
  67. package/dist/esm/types/ui/SendingMessage/SendingMessageInfoBox.d.ts +3 -0
  68. package/dist/esm/types/ui/SendingMessage/SendingMessageText.d.ts +3 -0
  69. package/dist/esm/types/ui/SendingMessage/index.d.ts +4 -0
  70. package/dist/esm/types/ui/SystemMessage/SystemMessageBox.d.ts +6 -0
  71. package/dist/esm/types/ui/SystemMessage/SystemMessageRow.d.ts +9 -0
  72. package/dist/esm/types/ui/SystemMessage/index.d.ts +2 -0
  73. package/dist/esm/types/{util → ui}/customize.d.ts +2 -3
  74. package/dist/esm/types/ui/index.d.ts +6 -6
  75. package/dist/esm/types/ui/localizer.d.ts +5 -0
  76. package/dist/esm/types/util/index.d.ts +0 -1
  77. package/dist/index.d.ts +353 -142
  78. package/package.json +92 -90
  79. package/src/ChatifyContext.tsx +41 -41
  80. package/src/core/action.tsx +405 -319
  81. package/src/core/client.ts +143 -137
  82. package/src/core/index.ts +17 -14
  83. package/src/core/models.tsx +82 -75
  84. package/src/core/reducer.tsx +87 -86
  85. package/src/core/state.ts +92 -38
  86. package/src/core/useAddChatMutation.tsx +22 -0
  87. package/src/core/useAddMemberMutation.tsx +25 -0
  88. package/src/core/useFetchNextMutation.tsx +28 -0
  89. package/src/core/useGetAccountsQuery.tsx +33 -0
  90. package/src/core/useGetChatListQuery.tsx +33 -0
  91. package/src/core/useGetChatQuery.tsx +34 -0
  92. package/src/core/useGetMessagesQuery.tsx +35 -0
  93. package/src/core/useReadMonitor.tsx +32 -31
  94. package/src/core/useRemoveMemberMutation.tsx +23 -0
  95. package/src/core/useSendMutation.tsx +24 -0
  96. package/src/core/useSignalRMonitor.tsx +66 -52
  97. package/src/core/useUpdateChatNameMutation.tsx +23 -0
  98. package/src/index.ts +3 -3
  99. package/src/{ui/styles → styles}/aside.scss +94 -94
  100. package/src/styles/chat.scss +222 -0
  101. package/src/styles/index.scss +79 -0
  102. package/src/{ui/styles → styles}/keyframes.scss +14 -14
  103. package/src/{ui/styles → styles}/mixins.scss +20 -20
  104. package/src/styles/settings.scss +5 -0
  105. package/src/{ui/styles → styles}/variables.scss +10 -10
  106. package/src/ui/AddChatButton.tsx +15 -19
  107. package/src/ui/Avatar.tsx +18 -18
  108. package/src/ui/ChatList/ChatList.tsx +42 -0
  109. package/src/ui/ChatList/ChatListItemBox.tsx +22 -0
  110. package/src/ui/ChatList/ChatListItemLastMessage.tsx +13 -0
  111. package/src/ui/ChatList/ChatListItemLastMessageAuthor.tsx +20 -0
  112. package/src/ui/ChatList/ChatListItemLastMessageContent.tsx +21 -0
  113. package/src/ui/ChatList/ChatListItemName.tsx +13 -0
  114. package/src/ui/ChatList/ChatListItemUnreadCount.tsx +12 -0
  115. package/src/ui/ChatList/index.ts +7 -0
  116. package/src/ui/ChatName.tsx +10 -15
  117. package/src/ui/ChatPanel/ChatBody.tsx +44 -0
  118. package/src/ui/ChatPanel/ChatHeader.tsx +33 -0
  119. package/src/ui/{ChatHeaderMembers.tsx → ChatPanel/ChatHeaderMembers.tsx} +26 -30
  120. package/src/ui/ChatPanel/ChatHeaderName.tsx +67 -0
  121. package/src/ui/ChatPanel/ChatMembersButton.tsx +21 -0
  122. package/src/ui/ChatPanel/ChatMembersPanel.tsx +117 -0
  123. package/src/ui/ChatPanel/ChatPanel.tsx +27 -0
  124. package/src/ui/ChatPanel/index.ts +6 -0
  125. package/src/ui/Chatify.tsx +148 -106
  126. package/src/ui/CreateChatPanel/CreateChatForm.tsx +36 -0
  127. package/src/ui/CreateChatPanel/CreateChatMemberInput.tsx +66 -0
  128. package/src/ui/CreateChatPanel/CreateChatNameInput.tsx +25 -0
  129. package/src/ui/CreateChatPanel/CreateChatPanel.tsx +33 -0
  130. package/src/ui/CreateChatPanel/index.ts +4 -0
  131. package/src/ui/Icon.tsx +33 -21
  132. package/src/ui/InputBox/InputBox.tsx +38 -0
  133. package/src/ui/InputBox/InputFilesBox.tsx +9 -0
  134. package/src/ui/InputBox/InputSubmitButtonBox.tsx +17 -0
  135. package/src/ui/InputBox/InputTextBox.tsx +50 -0
  136. package/src/ui/InputBox/index.ts +4 -0
  137. package/src/ui/Layout/Aside.tsx +10 -0
  138. package/src/ui/Layout/Body.tsx +10 -0
  139. package/src/ui/Layout/Footer.tsx +3 -0
  140. package/src/ui/Layout/Header.tsx +10 -0
  141. package/src/ui/Layout/Main.tsx +15 -0
  142. package/src/ui/Layout/index.ts +5 -0
  143. package/src/ui/Message/MessageAuthor.tsx +13 -0
  144. package/src/ui/Message/MessageBox.tsx +20 -0
  145. package/src/ui/Message/MessageContent.tsx +13 -0
  146. package/src/ui/Message/MessageInfoBox.tsx +25 -0
  147. package/src/ui/Message/MessageRow.tsx +24 -0
  148. package/src/ui/Message/MessageText.tsx +7 -0
  149. package/src/ui/Message/index.ts +6 -0
  150. package/src/ui/MessageReadObserver.tsx +45 -0
  151. package/src/ui/MessageSkeleton.tsx +19 -19
  152. package/src/ui/Next.tsx +48 -0
  153. package/src/ui/SendingMessage/SendingMessageBox.tsx +16 -0
  154. package/src/ui/SendingMessage/SendingMessageContent.tsx +13 -0
  155. package/src/ui/SendingMessage/SendingMessageInfoBox.tsx +13 -0
  156. package/src/ui/SendingMessage/SendingMessageText.tsx +7 -0
  157. package/src/ui/SendingMessage/index.ts +4 -0
  158. package/src/ui/SystemMessage/SystemMessageBox.tsx +20 -0
  159. package/src/ui/SystemMessage/SystemMessageRow.tsx +43 -0
  160. package/src/ui/SystemMessage/index.ts +2 -0
  161. package/src/{util → ui}/customize.tsx +45 -45
  162. package/src/ui/index.ts +11 -11
  163. package/src/ui/localizer.tsx +80 -68
  164. package/src/util/index.ts +2 -3
  165. package/src/util/uniqBy.tsx +17 -17
  166. package/src/util/uniqId.tsx +3 -3
  167. package/dist/cjs/index.js +0 -2
  168. package/dist/cjs/index.js.map +0 -1
  169. package/dist/cjs/types/ChatifyContext.d.ts +0 -11
  170. package/dist/cjs/types/core/action.d.ts +0 -76
  171. package/dist/cjs/types/core/client.d.ts +0 -35
  172. package/dist/cjs/types/core/index.d.ts +0 -14
  173. package/dist/cjs/types/core/models.d.ts +0 -64
  174. package/dist/cjs/types/core/reducer.d.ts +0 -11
  175. package/dist/cjs/types/core/state.d.ts +0 -25
  176. package/dist/cjs/types/core/useAccounts.d.ts +0 -1
  177. package/dist/cjs/types/core/useAddChat.d.ts +0 -2
  178. package/dist/cjs/types/core/useAddMember.d.ts +0 -2
  179. package/dist/cjs/types/core/useAddMessage.d.ts +0 -5
  180. package/dist/cjs/types/core/useChatList.d.ts +0 -1
  181. package/dist/cjs/types/core/useLoadMore.d.ts +0 -3
  182. package/dist/cjs/types/core/useMessages.d.ts +0 -15
  183. package/dist/cjs/types/core/useMutation.d.ts +0 -12
  184. package/dist/cjs/types/core/useQuery.d.ts +0 -7
  185. package/dist/cjs/types/core/useReadMonitor.d.ts +0 -1
  186. package/dist/cjs/types/core/useRemoveMember.d.ts +0 -2
  187. package/dist/cjs/types/core/useSignalRMonitor.d.ts +0 -2
  188. package/dist/cjs/types/index.d.ts +0 -3
  189. package/dist/cjs/types/ui/AddChat.d.ts +0 -1
  190. package/dist/cjs/types/ui/AddChatButton.d.ts +0 -2
  191. package/dist/cjs/types/ui/Aside.d.ts +0 -1
  192. package/dist/cjs/types/ui/Avatar.d.ts +0 -6
  193. package/dist/cjs/types/ui/Chat.d.ts +0 -4
  194. package/dist/cjs/types/ui/ChatBody.d.ts +0 -4
  195. package/dist/cjs/types/ui/ChatHeader.d.ts +0 -4
  196. package/dist/cjs/types/ui/ChatHeaderMembers.d.ts +0 -5
  197. package/dist/cjs/types/ui/ChatHeaderSettingsButton.d.ts +0 -5
  198. package/dist/cjs/types/ui/ChatListItem.d.ts +0 -11
  199. package/dist/cjs/types/ui/ChatName.d.ts +0 -5
  200. package/dist/cjs/types/ui/ChatSettings.d.ts +0 -1
  201. package/dist/cjs/types/ui/Chatify.d.ts +0 -49
  202. package/dist/cjs/types/ui/Footer.d.ts +0 -2
  203. package/dist/cjs/types/ui/Header.d.ts +0 -2
  204. package/dist/cjs/types/ui/Icon.d.ts +0 -7
  205. package/dist/cjs/types/ui/InputForm.d.ts +0 -1
  206. package/dist/cjs/types/ui/LoadMore.d.ts +0 -4
  207. package/dist/cjs/types/ui/Main.d.ts +0 -1
  208. package/dist/cjs/types/ui/Message.d.ts +0 -18
  209. package/dist/cjs/types/ui/MessageSkeleton.d.ts +0 -4
  210. package/dist/cjs/types/ui/SendingMessage.d.ts +0 -10
  211. package/dist/cjs/types/ui/SystemMessage.d.ts +0 -8
  212. package/dist/cjs/types/ui/index.d.ts +0 -11
  213. package/dist/cjs/types/ui/localizer.d.ts +0 -32
  214. package/dist/cjs/types/util/customize.d.ts +0 -12
  215. package/dist/cjs/types/util/index.d.ts +0 -3
  216. package/dist/cjs/types/util/uniqBy.d.ts +0 -1
  217. package/dist/cjs/types/util/uniqId.d.ts +0 -1
  218. package/dist/esm/types/core/useAccounts.d.ts +0 -1
  219. package/dist/esm/types/core/useAddChat.d.ts +0 -2
  220. package/dist/esm/types/core/useAddMember.d.ts +0 -2
  221. package/dist/esm/types/core/useAddMessage.d.ts +0 -5
  222. package/dist/esm/types/core/useChat.d.ts +0 -3
  223. package/dist/esm/types/core/useChatList.d.ts +0 -1
  224. package/dist/esm/types/core/useLoadMore.d.ts +0 -3
  225. package/dist/esm/types/core/useMessages.d.ts +0 -15
  226. package/dist/esm/types/core/useMutation.d.ts +0 -12
  227. package/dist/esm/types/core/useQuery.d.ts +0 -7
  228. package/dist/esm/types/core/useRemoveMember.d.ts +0 -2
  229. package/dist/esm/types/ui/AddChat.d.ts +0 -1
  230. package/dist/esm/types/ui/Aside.d.ts +0 -1
  231. package/dist/esm/types/ui/Chat.d.ts +0 -4
  232. package/dist/esm/types/ui/ChatBody.d.ts +0 -4
  233. package/dist/esm/types/ui/ChatHeader.d.ts +0 -4
  234. package/dist/esm/types/ui/ChatHeaderMembers.d.ts +0 -5
  235. package/dist/esm/types/ui/ChatHeaderSettingsButton.d.ts +0 -5
  236. package/dist/esm/types/ui/ChatListItem.d.ts +0 -11
  237. package/dist/esm/types/ui/ChatSettings.d.ts +0 -1
  238. package/dist/esm/types/ui/Footer.d.ts +0 -2
  239. package/dist/esm/types/ui/Header.d.ts +0 -2
  240. package/dist/esm/types/ui/InputForm.d.ts +0 -1
  241. package/dist/esm/types/ui/LoadMore.d.ts +0 -4
  242. package/dist/esm/types/ui/Main.d.ts +0 -1
  243. package/dist/esm/types/ui/Message.d.ts +0 -18
  244. package/dist/esm/types/ui/SendingMessage.d.ts +0 -10
  245. package/dist/esm/types/ui/SystemMessage.d.ts +0 -8
  246. package/src/core/useAccounts.tsx +0 -11
  247. package/src/core/useAddChat.tsx +0 -12
  248. package/src/core/useAddMember.tsx +0 -12
  249. package/src/core/useAddMessage.tsx +0 -40
  250. package/src/core/useChat.tsx +0 -12
  251. package/src/core/useChatList.tsx +0 -10
  252. package/src/core/useLoadMore.tsx +0 -42
  253. package/src/core/useMessages.tsx +0 -23
  254. package/src/core/useMutation.tsx +0 -48
  255. package/src/core/useQuery.tsx +0 -45
  256. package/src/core/useRemoveMember.tsx +0 -12
  257. package/src/ui/AddChat.tsx +0 -55
  258. package/src/ui/Aside.tsx +0 -41
  259. package/src/ui/Chat.tsx +0 -26
  260. package/src/ui/ChatBody.tsx +0 -43
  261. package/src/ui/ChatHeader.tsx +0 -33
  262. package/src/ui/ChatHeaderSettingsButton.tsx +0 -26
  263. package/src/ui/ChatListItem.tsx +0 -101
  264. package/src/ui/ChatSettings.tsx +0 -59
  265. package/src/ui/Footer.tsx +0 -7
  266. package/src/ui/Header.tsx +0 -14
  267. package/src/ui/InputForm.tsx +0 -51
  268. package/src/ui/LoadMore.tsx +0 -40
  269. package/src/ui/Main.tsx +0 -16
  270. package/src/ui/Message.tsx +0 -118
  271. package/src/ui/SendingMessage.tsx +0 -50
  272. package/src/ui/SystemMessage.tsx +0 -32
  273. package/src/ui/styles/index.scss +0 -248
@@ -1,4 +0,0 @@
1
- export interface ChatHeaderProps {
2
- id: string;
3
- }
4
- export declare function ChatHeader(props: ChatHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +0,0 @@
1
- import { FC } from 'react';
2
- export interface ChatHeaderMembersProps {
3
- id: string;
4
- }
5
- export declare const ChatHeaderMembers: import("../util").Customizable<FC<ChatHeaderMembersProps>, "ChatHeaderMembers">;
@@ -1,5 +0,0 @@
1
- import { FC } from 'react';
2
- export interface ChatSettingsButtonProps {
3
- id: string;
4
- }
5
- export declare const ChatSettingsButton: import("../util").Customizable<FC<ChatSettingsButtonProps>, "ChatSettingsButton">;
@@ -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,5 +0,0 @@
1
- import { FC } from 'react';
2
- export interface ChatNameProps {
3
- name: string;
4
- }
5
- export declare const ChatName: import("../util").Customizable<FC<ChatNameProps>, "ChatName">;
@@ -1 +0,0 @@
1
- export declare function ChatSettings(): import("react/jsx-runtime").JSX.Element | null;
@@ -1,49 +0,0 @@
1
- import { CSSProperties, FC } from 'react';
2
- import { Localizer } from './localizer';
3
- import { Avatar } from './Avatar';
4
- import { ChatHeaderMembers } from './ChatHeaderMembers';
5
- import { ChatSettingsButton } from './ChatHeaderSettingsButton';
6
- import { Header } from './Header';
7
- import { AddChatButton } from './AddChatButton';
8
- import { Footer } from './Footer';
9
- import { ChatName } from './ChatName';
10
- import { ChatListItemBox, ChatListItemLastMessage, ChatListItemLastMessageAuthor, ChatListItemLastMessageContent, ChatListItemName, ChatListItemUnreadCount } from './ChatListItem';
11
- import { SendingMessage, SendingMessageContent, SendingMessageInfoBox, SendingMessageText } from './SendingMessage';
12
- import { MessageAuthor, MessageContent, MessageBox, MessageInfoBox, MessageReadObserver, MessageRow, MessageText } from './Message';
13
- import { Icon } from './Icon';
14
- import { SystemMessage } from './SystemMessage';
15
- export interface ChatifyCustomizeValue {
16
- Avatar?: typeof Avatar.Component | null;
17
- Header?: typeof Header.Component | null;
18
- Footer?: typeof Footer.Component | null;
19
- AddChatButton?: typeof AddChatButton.Component | null;
20
- ChatHeaderMembers?: typeof ChatHeaderMembers.Component | null;
21
- ChatSettingsButton?: typeof ChatSettingsButton.Component | null;
22
- ChatName?: typeof ChatName.Component | null;
23
- ChatListItemBox?: typeof ChatListItemBox.Component | null;
24
- ChatListItemName?: typeof ChatListItemName.Component | null;
25
- ChatListItemUnreadCount?: typeof ChatListItemUnreadCount.Component | null;
26
- ChatListItemLastMessage?: typeof ChatListItemLastMessage.Component | null;
27
- ChatListItemLastMessageAuthor?: typeof ChatListItemLastMessageAuthor.Component | null;
28
- ChatListItemLastMessageContent?: typeof ChatListItemLastMessageContent.Component | null;
29
- SystemMessage?: typeof SystemMessage.Component | null;
30
- SendingMessage?: typeof SendingMessage.Component | null;
31
- SendingMessageBody?: typeof SendingMessageContent.Component | null;
32
- SendingMessageInfoBox?: typeof SendingMessageInfoBox.Component | null;
33
- SendingMessageText?: typeof SendingMessageText.Component | null;
34
- MessageBox?: typeof MessageBox.Component | null;
35
- MessageReadObserver?: typeof MessageReadObserver.Component | null;
36
- MessageRow?: typeof MessageRow.Component | null;
37
- MessageContent?: typeof MessageContent.Component | null;
38
- MessageInfoBox?: typeof MessageInfoBox.Component | null;
39
- MessageText?: typeof MessageText.Component | null;
40
- MessageAuthor?: typeof MessageAuthor.Component | null;
41
- Icon?: typeof Icon.Component | null;
42
- }
43
- export interface ChatifyProps {
44
- className?: string;
45
- style?: CSSProperties;
46
- localizer?: Localizer;
47
- customize?: ChatifyCustomizeValue;
48
- }
49
- export declare const Chatify: FC<ChatifyProps>;
@@ -1,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const Footer: import("../util").Customizable<FC, "Footer">;
@@ -1,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const Header: import("../util").Customizable<FC, "Header">;
@@ -1,7 +0,0 @@
1
- import { FC } from 'react';
2
- export type IconType = 'attach' | 'send';
3
- export interface IconProps {
4
- type: IconType;
5
- }
6
- export declare const ICONS: Record<IconType, React.ComponentType>;
7
- export declare const Icon: import("../util").Customizable<FC<IconProps>, string>;
@@ -1 +0,0 @@
1
- export declare function InputForm(): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface LoadMoreProps {
2
- chatId: string;
3
- }
4
- export declare function LoadMore(props: LoadMoreProps): 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,4 +0,0 @@
1
- export interface MessageSkeletonProps {
2
- count?: number;
3
- }
4
- export declare function MessageSkeleton(props: MessageSkeletonProps): import("react/jsx-runtime").JSX.Element;
@@ -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,3 +0,0 @@
1
- export * from './uniqBy';
2
- export * from './uniqId';
3
- export * from './customize';
@@ -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,2 +0,0 @@
1
- import { AddChatRequest } from './models';
2
- export declare function useAddChat(): readonly [(args: AddChatRequest) => void, import("./state").MutationState];
@@ -1,2 +0,0 @@
1
- import { AddMemberRequest } from './models';
2
- export declare function useAddMember(): readonly [(args: AddMemberRequest) => void, import("./state").MutationState];
@@ -1,5 +0,0 @@
1
- import { SendMessageRequest } from './models';
2
- export interface UseAddMessageArgs {
3
- chatId: string;
4
- }
5
- export declare function useAddMessage(args: UseAddMessageArgs): readonly [(args: Omit<SendMessageRequest, "chatId">) => void, import("./state").MutationState];
@@ -1,3 +0,0 @@
1
- export declare function useChat(args: {
2
- chatId: string;
3
- }): import("./state").QueryState<import("./models").Chat>;
@@ -1 +0,0 @@
1
- export declare function useChatList(): import("./state").QueryState<import("./models").ChatListItem[]>;
@@ -1,3 +0,0 @@
1
- export declare function useLoadMore({ chatId }: {
2
- chatId: string;
3
- }): readonly [(args: void) => void, import("./state").MutationState];
@@ -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,7 +0,0 @@
1
- import { QueryState } from './state';
2
- interface UseQueryArgs<TData> {
3
- key: string;
4
- queryFn: () => Promise<TData>;
5
- }
6
- export declare function useQuery<TData>(args: UseQueryArgs<TData>): QueryState<TData>;
7
- export {};
@@ -1,2 +0,0 @@
1
- import { RemoveMemberRequest } from './models';
2
- export declare function useRemoveMember(): readonly [(args: RemoveMemberRequest) => void, import("./state").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,4 +0,0 @@
1
- export interface ChatProps {
2
- id: string;
3
- }
4
- export declare function Chat(props: ChatProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface ChatBodyProps {
2
- id: string;
3
- }
4
- export declare function ChatBody(props: ChatBodyProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface ChatHeaderProps {
2
- id: string;
3
- }
4
- export declare function ChatHeader(props: ChatHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +0,0 @@
1
- import { FC } from 'react';
2
- export interface ChatHeaderMembersProps {
3
- id: string;
4
- }
5
- export declare const ChatHeaderMembers: import("../util").Customizable<FC<ChatHeaderMembersProps>, "ChatHeaderMembers">;
@@ -1,5 +0,0 @@
1
- import { FC } from 'react';
2
- export interface ChatSettingsButtonProps {
3
- id: string;
4
- }
5
- export declare const ChatSettingsButton: import("../util").Customizable<FC<ChatSettingsButtonProps>, "ChatSettingsButton">;
@@ -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,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const Footer: import("../util").Customizable<FC, "Footer">;
@@ -1,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const Header: import("../util").Customizable<FC, "Header">;
@@ -1 +0,0 @@
1
- export declare function InputForm(): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface LoadMoreProps {
2
- chatId: string;
3
- }
4
- export declare function LoadMore(props: LoadMoreProps): 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>;
@@ -1,11 +0,0 @@
1
- import { useClient } from '../ChatifyContext';
2
- import { useQuery } from './useQuery';
3
-
4
- export function useAccounts() {
5
- const client = useClient();
6
-
7
- return useQuery({
8
- key: 'accounts',
9
- queryFn: () => client.accounts(),
10
- });
11
- }
@@ -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
- }
@@ -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
- }
@@ -1,10 +0,0 @@
1
- import { useClient } from '../ChatifyContext';
2
- import { useQuery } from './useQuery';
3
-
4
- export function useChatList() {
5
- const client = useClient();
6
- return useQuery({
7
- key: 'chat-list',
8
- queryFn: () => client.chats(),
9
- });
10
- }
@@ -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
- }
@@ -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
- }