@webinex/chatify 1.0.3-rc3 → 2.0.0-build1

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 (314) hide show
  1. package/dist/css/chatify.css +137 -105
  2. package/dist/esm/index.js +10 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/types/core/api/accountApi.d.ts +5 -0
  5. package/dist/esm/types/core/api/api.d.ts +2538 -0
  6. package/dist/esm/types/core/api/baseApi.d.ts +10 -0
  7. package/dist/esm/types/core/api/chatApi.d.ts +25 -0
  8. package/dist/esm/types/core/api/chatListApi.d.ts +6 -0
  9. package/dist/esm/types/core/api/chatMemberApi.d.ts +6 -0
  10. package/dist/esm/types/core/api/chatMessageApi.d.ts +34 -0
  11. package/dist/esm/types/core/api/index.d.ts +9 -0
  12. package/dist/esm/types/core/api/threadApi.d.ts +95 -0
  13. package/dist/esm/types/core/api/threadMessageApi.d.ts +28 -0
  14. package/dist/esm/types/core/client.d.ts +56 -9
  15. package/dist/esm/types/core/constants.d.ts +1 -0
  16. package/dist/esm/types/core/debounce.d.ts +27 -0
  17. package/dist/esm/types/core/index.d.ts +3 -16
  18. package/dist/esm/types/core/types.d.ts +105 -0
  19. package/dist/esm/types/index.d.ts +0 -1
  20. package/dist/esm/types/ui/Chat/ChatContext.d.ts +10 -0
  21. package/dist/esm/types/ui/Chat/ChatEditableHeaderName.d.ts +2 -0
  22. package/dist/esm/types/ui/Chat/ChatHeaderActions.d.ts +2 -0
  23. package/dist/esm/types/ui/Chat/ChatPanel.d.ts +13 -0
  24. package/dist/esm/types/ui/Chat/ChatView.d.ts +17 -0
  25. package/dist/esm/types/ui/Chat/Members/ChatMembersButton.d.ts +2 -0
  26. package/dist/esm/types/ui/Chat/Members/ChatMembersPanel.d.ts +2 -0
  27. package/dist/esm/types/ui/Chat/Members/ChatMembersPreview.d.ts +2 -0
  28. package/dist/esm/types/ui/Chat/Members/index.d.ts +11 -0
  29. package/dist/esm/types/ui/Chat/index.d.ts +6 -0
  30. package/dist/esm/types/ui/ChatGroup/ChatGroupContext.d.ts +12 -0
  31. package/dist/esm/types/ui/ChatGroup/ChatGroupPanel.d.ts +15 -0
  32. package/dist/esm/types/ui/ChatGroup/Create/CreateChatButton.d.ts +2 -0
  33. package/dist/esm/types/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatForm.d.ts +1 -1
  34. package/dist/esm/types/ui/ChatGroup/Create/CreateChatMemberInput.d.ts +5 -0
  35. package/dist/esm/types/ui/ChatGroup/Create/CreateChatNameInput.d.ts +5 -0
  36. package/dist/esm/types/ui/ChatGroup/Create/CreateChatPanel.d.ts +2 -0
  37. package/dist/esm/types/ui/ChatGroup/Create/index.d.ts +17 -0
  38. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupAside.d.ts +2 -0
  39. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupBody.d.ts +2 -0
  40. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupFooter.d.ts +2 -0
  41. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupHeader.d.ts +2 -0
  42. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupMain.d.ts +2 -0
  43. package/dist/esm/types/ui/ChatGroup/Layout/index.d.ts +17 -0
  44. package/dist/esm/types/ui/ChatGroup/List/ChatList.d.ts +2 -0
  45. package/dist/esm/types/ui/ChatGroup/List/ChatListItemAvatar.d.ts +3 -0
  46. package/dist/esm/types/ui/ChatGroup/List/ChatListItemBox.d.ts +6 -0
  47. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessage.d.ts +3 -0
  48. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageAuthor.d.ts +3 -0
  49. package/dist/esm/types/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageContent.d.ts +1 -1
  50. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageSentAt.d.ts +3 -0
  51. package/dist/esm/types/ui/ChatGroup/List/ChatListItemName.d.ts +3 -0
  52. package/dist/esm/types/ui/ChatGroup/List/ChatListItemUnreadCount.d.ts +3 -0
  53. package/dist/esm/types/ui/ChatGroup/List/index.d.ts +29 -0
  54. package/dist/esm/types/ui/ChatGroup/index.d.ts +5 -0
  55. package/dist/esm/types/ui/Chatify.d.ts +8 -72
  56. package/dist/esm/types/ui/Conversation/Conversation.d.ts +21 -0
  57. package/dist/esm/types/ui/Conversation/ConversationActions.d.ts +2 -0
  58. package/dist/esm/types/ui/Conversation/ConversationBody.d.ts +2 -0
  59. package/dist/esm/types/ui/Conversation/ConversationContext.d.ts +20 -0
  60. package/dist/esm/types/ui/Conversation/ConversationHeader.d.ts +2 -0
  61. package/dist/esm/types/ui/Conversation/ConversationName.d.ts +2 -0
  62. package/dist/esm/types/ui/Conversation/InputBox/InputBox.d.ts +2 -0
  63. package/dist/esm/types/ui/Conversation/InputBox/InputFilesBox.d.ts +2 -0
  64. package/dist/esm/types/ui/Conversation/InputBox/InputSubmitButtonBox.d.ts +5 -0
  65. package/dist/esm/types/ui/Conversation/InputBox/InputTextBox.d.ts +8 -0
  66. package/dist/esm/types/ui/Conversation/InputBox/index.d.ts +14 -0
  67. package/dist/esm/types/ui/Conversation/Message/MessageAuthor.d.ts +3 -0
  68. package/dist/esm/types/ui/Conversation/Message/MessageBox.d.ts +6 -0
  69. package/dist/esm/types/ui/Conversation/Message/MessageContent.d.ts +3 -0
  70. package/dist/esm/types/ui/Conversation/Message/MessageInfoBox.d.ts +3 -0
  71. package/dist/esm/types/ui/{Message → Conversation/Message}/MessageRow.d.ts +1 -1
  72. package/dist/esm/types/ui/Conversation/Message/MessageText.d.ts +3 -0
  73. package/dist/esm/types/ui/Conversation/Message/index.d.ts +20 -0
  74. package/dist/esm/types/ui/Conversation/NextObserver/NextMessagesObserver.d.ts +5 -0
  75. package/dist/esm/types/ui/Conversation/NextObserver/index.d.ts +1 -0
  76. package/dist/esm/types/ui/Conversation/ReadObserver/MessageReadObserver.d.ts +6 -0
  77. package/dist/esm/types/ui/Conversation/ReadObserver/index.d.ts +1 -0
  78. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageBox.d.ts +7 -0
  79. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageContent.d.ts +3 -0
  80. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageInfoBox.d.ts +3 -0
  81. package/dist/esm/types/ui/{SendingMessage/SendingMessageInfoBox.d.ts → Conversation/SendingMessage/SendingMessageText.d.ts} +1 -1
  82. package/dist/esm/types/ui/Conversation/SendingMessage/index.d.ts +14 -0
  83. package/dist/esm/types/ui/Conversation/SystemMessage/SystemMessageBox.d.ts +6 -0
  84. package/dist/esm/types/ui/Conversation/SystemMessage/SystemMessageRow.d.ts +9 -0
  85. package/dist/esm/types/ui/Conversation/SystemMessage/index.d.ts +8 -0
  86. package/dist/esm/types/ui/Conversation/index.d.ts +12 -0
  87. package/dist/esm/types/ui/{InputBox/InputFilesBox.d.ts → Thread/ThreadActions.d.ts} +1 -1
  88. package/dist/esm/types/ui/Thread/ThreadContext.d.ts +8 -0
  89. package/dist/esm/types/ui/Thread/ThreadPanel.d.ts +14 -0
  90. package/dist/esm/types/ui/Thread/index.d.ts +3 -0
  91. package/dist/esm/types/ui/color.d.ts +6 -0
  92. package/dist/esm/types/ui/common/Avatar.d.ts +6 -0
  93. package/dist/esm/types/ui/common/Icon.d.ts +20 -0
  94. package/dist/esm/types/ui/common/MessageSkeleton.d.ts +5 -0
  95. package/dist/esm/types/ui/common/index.d.ts +11 -0
  96. package/dist/esm/types/ui/customize.d.ts +5 -7
  97. package/dist/esm/types/ui/index.d.ts +9 -9
  98. package/dist/esm/types/ui/localizer.d.ts +2 -6
  99. package/package.json +12 -10
  100. package/src/core/api/accountApi.ts +13 -0
  101. package/src/core/api/api.ts +42 -0
  102. package/src/core/api/baseApi.ts +30 -0
  103. package/src/core/api/chatApi.ts +89 -0
  104. package/src/core/api/chatListApi.ts +149 -0
  105. package/src/core/api/chatMemberApi.ts +22 -0
  106. package/src/core/api/chatMessageApi.ts +156 -0
  107. package/src/core/api/index.ts +9 -0
  108. package/src/core/api/threadApi.ts +132 -0
  109. package/src/core/api/threadMessageApi.ts +127 -0
  110. package/src/core/client.ts +157 -31
  111. package/src/core/constants.ts +1 -0
  112. package/src/core/debounce.ts +90 -0
  113. package/src/core/index.ts +3 -16
  114. package/src/core/types.tsx +152 -0
  115. package/src/index.ts +0 -1
  116. package/src/styles/aside.scss +31 -2
  117. package/src/styles/chat.scss +34 -37
  118. package/src/styles/index.scss +7 -5
  119. package/src/styles/input.scss +3 -1
  120. package/src/styles/members.scss +13 -0
  121. package/src/ui/Chat/ChatContext.tsx +30 -0
  122. package/src/ui/{ChatPanel/ChatHeaderName.tsx → Chat/ChatEditableHeaderName.tsx} +9 -15
  123. package/src/ui/Chat/ChatHeaderActions.tsx +19 -0
  124. package/src/ui/Chat/ChatPanel.tsx +30 -0
  125. package/src/ui/Chat/ChatView.tsx +123 -0
  126. package/src/ui/Chat/Members/ChatMembersButton.tsx +9 -0
  127. package/src/ui/{ChatPanel → Chat/Members}/ChatMembersPanel.tsx +16 -20
  128. package/src/ui/Chat/Members/ChatMembersPreview.tsx +25 -0
  129. package/src/ui/Chat/Members/index.ts +13 -0
  130. package/src/ui/Chat/index.ts +6 -0
  131. package/src/ui/ChatGroup/ChatGroupContext.tsx +50 -0
  132. package/src/ui/ChatGroup/ChatGroupPanel.tsx +73 -0
  133. package/src/ui/ChatGroup/Create/CreateChatButton.tsx +15 -0
  134. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatForm.tsx +2 -2
  135. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatMemberInput.tsx +6 -7
  136. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatNameInput.tsx +2 -2
  137. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatPanel.tsx +14 -18
  138. package/src/ui/ChatGroup/Create/index.ts +19 -0
  139. package/src/ui/ChatGroup/Layout/ChatGroupAside.tsx +12 -0
  140. package/src/ui/ChatGroup/Layout/ChatGroupBody.tsx +10 -0
  141. package/src/ui/ChatGroup/Layout/ChatGroupFooter.tsx +3 -0
  142. package/src/ui/ChatGroup/Layout/ChatGroupHeader.tsx +5 -0
  143. package/src/ui/ChatGroup/Layout/ChatGroupMain.tsx +17 -0
  144. package/src/ui/ChatGroup/Layout/index.ts +19 -0
  145. package/src/ui/{ChatList → ChatGroup/List}/ChatList.tsx +8 -8
  146. package/src/ui/ChatGroup/List/ChatListItemAvatar.tsx +22 -0
  147. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemBox.tsx +9 -5
  148. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessage.tsx +1 -1
  149. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageAuthor.tsx +2 -7
  150. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageContent.tsx +3 -3
  151. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageSentAt.tsx +2 -2
  152. package/src/ui/ChatGroup/List/ChatListItemName.tsx +8 -0
  153. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemUnreadCount.tsx +1 -1
  154. package/src/ui/ChatGroup/List/index.ts +31 -0
  155. package/src/ui/ChatGroup/index.ts +5 -0
  156. package/src/ui/Chatify.tsx +8 -153
  157. package/src/ui/Conversation/Conversation.tsx +76 -0
  158. package/src/ui/Conversation/ConversationActions.tsx +5 -0
  159. package/src/ui/Conversation/ConversationBody.tsx +28 -0
  160. package/src/ui/Conversation/ConversationContext.ts +27 -0
  161. package/src/ui/Conversation/ConversationHeader.tsx +23 -0
  162. package/src/ui/Conversation/ConversationName.tsx +7 -0
  163. package/src/ui/Conversation/InputBox/InputBox.tsx +40 -0
  164. package/src/ui/{InputBox → Conversation/InputBox}/InputFilesBox.tsx +2 -2
  165. package/src/ui/{InputBox → Conversation/InputBox}/InputSubmitButtonBox.tsx +2 -2
  166. package/src/ui/{InputBox → Conversation/InputBox}/InputTextBox.tsx +6 -4
  167. package/src/ui/Conversation/InputBox/index.ts +16 -0
  168. package/src/ui/{Message → Conversation/Message}/MessageAuthor.tsx +2 -2
  169. package/src/ui/{Message → Conversation/Message}/MessageBox.tsx +4 -4
  170. package/src/ui/{Message → Conversation/Message}/MessageContent.tsx +1 -1
  171. package/src/ui/{Message → Conversation/Message}/MessageInfoBox.tsx +9 -7
  172. package/src/ui/{Message → Conversation/Message}/MessageRow.tsx +3 -3
  173. package/src/ui/{Message → Conversation/Message}/MessageText.tsx +1 -1
  174. package/src/ui/Conversation/Message/index.ts +22 -0
  175. package/src/ui/{Next.tsx → Conversation/NextObserver/NextMessagesObserver.tsx} +9 -10
  176. package/src/ui/Conversation/NextObserver/index.ts +1 -0
  177. package/src/ui/{MessageReadObserver.tsx → Conversation/ReadObserver/MessageReadObserver.tsx} +17 -13
  178. package/src/ui/Conversation/ReadObserver/index.ts +1 -0
  179. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageBox.tsx +2 -2
  180. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageContent.tsx +1 -1
  181. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageInfoBox.tsx +2 -2
  182. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageText.tsx +1 -1
  183. package/src/ui/Conversation/SendingMessage/index.ts +16 -0
  184. package/src/ui/{SystemMessage → Conversation/SystemMessage}/SystemMessageBox.tsx +4 -4
  185. package/src/ui/Conversation/SystemMessage/SystemMessageRow.tsx +28 -0
  186. package/src/ui/Conversation/SystemMessage/index.ts +10 -0
  187. package/src/ui/Conversation/index.ts +13 -0
  188. package/src/ui/Thread/ThreadActions.tsx +22 -0
  189. package/src/ui/Thread/ThreadContext.ts +13 -0
  190. package/src/ui/Thread/ThreadPanel.tsx +138 -0
  191. package/src/ui/Thread/index.tsx +3 -0
  192. package/src/ui/color.ts +20 -0
  193. package/src/ui/common/Avatar.tsx +20 -0
  194. package/src/ui/{Icon.tsx → common/Icon.tsx} +6 -1
  195. package/src/ui/{MessageSkeleton.tsx → common/MessageSkeleton.tsx} +3 -2
  196. package/src/ui/common/index.ts +13 -0
  197. package/src/ui/customize.tsx +18 -10
  198. package/src/ui/index.ts +9 -9
  199. package/src/ui/localizer.tsx +7 -10
  200. package/dist/esm/types/ChatifyContext.d.ts +0 -11
  201. package/dist/esm/types/core/action.d.ts +0 -151
  202. package/dist/esm/types/core/models.d.ts +0 -70
  203. package/dist/esm/types/core/reducer.d.ts +0 -11
  204. package/dist/esm/types/core/state.d.ts +0 -55
  205. package/dist/esm/types/core/useAddChatMutation.d.ts +0 -2
  206. package/dist/esm/types/core/useAddMemberMutation.d.ts +0 -2
  207. package/dist/esm/types/core/useFetchNextMutation.d.ts +0 -3
  208. package/dist/esm/types/core/useGetAccountsQuery.d.ts +0 -3
  209. package/dist/esm/types/core/useGetChatListQuery.d.ts +0 -3
  210. package/dist/esm/types/core/useGetChatQuery.d.ts +0 -5
  211. package/dist/esm/types/core/useGetMessagesQuery.d.ts +0 -4
  212. package/dist/esm/types/core/useReadMonitor.d.ts +0 -1
  213. package/dist/esm/types/core/useRemoveMemberMutation.d.ts +0 -2
  214. package/dist/esm/types/core/useSendMutation.d.ts +0 -2
  215. package/dist/esm/types/core/useSignalRMonitor.d.ts +0 -2
  216. package/dist/esm/types/core/useUpdateChatNameMutation.d.ts +0 -2
  217. package/dist/esm/types/ui/AddChatButton.d.ts +0 -2
  218. package/dist/esm/types/ui/Avatar.d.ts +0 -6
  219. package/dist/esm/types/ui/ChatList/ChatList.d.ts +0 -2
  220. package/dist/esm/types/ui/ChatList/ChatListItemBox.d.ts +0 -6
  221. package/dist/esm/types/ui/ChatList/ChatListItemLastMessage.d.ts +0 -3
  222. package/dist/esm/types/ui/ChatList/ChatListItemLastMessageAuthor.d.ts +0 -3
  223. package/dist/esm/types/ui/ChatList/ChatListItemLastMessageSentAt.d.ts +0 -3
  224. package/dist/esm/types/ui/ChatList/ChatListItemName.d.ts +0 -3
  225. package/dist/esm/types/ui/ChatList/ChatListItemUnreadCount.d.ts +0 -3
  226. package/dist/esm/types/ui/ChatList/index.d.ts +0 -8
  227. package/dist/esm/types/ui/ChatName.d.ts +0 -5
  228. package/dist/esm/types/ui/ChatPanel/ChatBody.d.ts +0 -5
  229. package/dist/esm/types/ui/ChatPanel/ChatHeader.d.ts +0 -5
  230. package/dist/esm/types/ui/ChatPanel/ChatHeaderMembers.d.ts +0 -5
  231. package/dist/esm/types/ui/ChatPanel/ChatHeaderName.d.ts +0 -5
  232. package/dist/esm/types/ui/ChatPanel/ChatMembersButton.d.ts +0 -5
  233. package/dist/esm/types/ui/ChatPanel/ChatMembersPanel.d.ts +0 -5
  234. package/dist/esm/types/ui/ChatPanel/ChatPanel.d.ts +0 -5
  235. package/dist/esm/types/ui/ChatPanel/index.d.ts +0 -6
  236. package/dist/esm/types/ui/CreateChatPanel/CreateChatMemberInput.d.ts +0 -5
  237. package/dist/esm/types/ui/CreateChatPanel/CreateChatNameInput.d.ts +0 -5
  238. package/dist/esm/types/ui/CreateChatPanel/CreateChatPanel.d.ts +0 -2
  239. package/dist/esm/types/ui/CreateChatPanel/index.d.ts +0 -4
  240. package/dist/esm/types/ui/Icon.d.ts +0 -17
  241. package/dist/esm/types/ui/InputBox/InputBox.d.ts +0 -2
  242. package/dist/esm/types/ui/InputBox/InputSubmitButtonBox.d.ts +0 -5
  243. package/dist/esm/types/ui/InputBox/InputTextBox.d.ts +0 -7
  244. package/dist/esm/types/ui/InputBox/index.d.ts +0 -4
  245. package/dist/esm/types/ui/Layout/Aside.d.ts +0 -2
  246. package/dist/esm/types/ui/Layout/Body.d.ts +0 -2
  247. package/dist/esm/types/ui/Layout/Footer.d.ts +0 -2
  248. package/dist/esm/types/ui/Layout/Header.d.ts +0 -2
  249. package/dist/esm/types/ui/Layout/Main.d.ts +0 -2
  250. package/dist/esm/types/ui/Layout/index.d.ts +0 -5
  251. package/dist/esm/types/ui/Message/MessageAuthor.d.ts +0 -3
  252. package/dist/esm/types/ui/Message/MessageBox.d.ts +0 -6
  253. package/dist/esm/types/ui/Message/MessageContent.d.ts +0 -3
  254. package/dist/esm/types/ui/Message/MessageInfoBox.d.ts +0 -3
  255. package/dist/esm/types/ui/Message/MessageText.d.ts +0 -3
  256. package/dist/esm/types/ui/Message/index.d.ts +0 -6
  257. package/dist/esm/types/ui/MessageReadObserver.d.ts +0 -6
  258. package/dist/esm/types/ui/MessageSkeleton.d.ts +0 -4
  259. package/dist/esm/types/ui/Next.d.ts +0 -4
  260. package/dist/esm/types/ui/SendingMessage/SendingMessageBox.d.ts +0 -7
  261. package/dist/esm/types/ui/SendingMessage/SendingMessageContent.d.ts +0 -3
  262. package/dist/esm/types/ui/SendingMessage/SendingMessageText.d.ts +0 -3
  263. package/dist/esm/types/ui/SendingMessage/index.d.ts +0 -4
  264. package/dist/esm/types/ui/SystemMessage/SystemMessageBox.d.ts +0 -6
  265. package/dist/esm/types/ui/SystemMessage/SystemMessageRow.d.ts +0 -9
  266. package/dist/esm/types/ui/SystemMessage/index.d.ts +0 -2
  267. package/dist/esm/types/util/index.d.ts +0 -2
  268. package/dist/esm/types/util/uniqBy.d.ts +0 -1
  269. package/dist/esm/types/util/uniqId.d.ts +0 -1
  270. package/dist/index.d.ts +0 -637
  271. package/src/ChatifyContext.tsx +0 -41
  272. package/src/core/action.tsx +0 -431
  273. package/src/core/models.tsx +0 -82
  274. package/src/core/reducer.tsx +0 -87
  275. package/src/core/state.ts +0 -93
  276. package/src/core/useAddChatMutation.tsx +0 -28
  277. package/src/core/useAddMemberMutation.tsx +0 -25
  278. package/src/core/useFetchNextMutation.tsx +0 -28
  279. package/src/core/useGetAccountsQuery.tsx +0 -30
  280. package/src/core/useGetChatListQuery.tsx +0 -30
  281. package/src/core/useGetChatQuery.tsx +0 -31
  282. package/src/core/useGetMessagesQuery.tsx +0 -35
  283. package/src/core/useReadMonitor.tsx +0 -32
  284. package/src/core/useRemoveMemberMutation.tsx +0 -23
  285. package/src/core/useSendMutation.tsx +0 -24
  286. package/src/core/useSignalRMonitor.tsx +0 -66
  287. package/src/core/useUpdateChatNameMutation.tsx +0 -23
  288. package/src/ui/AddChatButton.tsx +0 -17
  289. package/src/ui/Avatar.tsx +0 -18
  290. package/src/ui/ChatList/ChatListItemName.tsx +0 -13
  291. package/src/ui/ChatList/index.ts +0 -8
  292. package/src/ui/ChatName.tsx +0 -10
  293. package/src/ui/ChatPanel/ChatBody.tsx +0 -44
  294. package/src/ui/ChatPanel/ChatHeader.tsx +0 -31
  295. package/src/ui/ChatPanel/ChatHeaderMembers.tsx +0 -28
  296. package/src/ui/ChatPanel/ChatMembersButton.tsx +0 -21
  297. package/src/ui/ChatPanel/ChatPanel.tsx +0 -27
  298. package/src/ui/ChatPanel/index.ts +0 -6
  299. package/src/ui/CreateChatPanel/index.ts +0 -4
  300. package/src/ui/InputBox/InputBox.tsx +0 -38
  301. package/src/ui/InputBox/index.ts +0 -4
  302. package/src/ui/Layout/Aside.tsx +0 -12
  303. package/src/ui/Layout/Body.tsx +0 -10
  304. package/src/ui/Layout/Footer.tsx +0 -3
  305. package/src/ui/Layout/Header.tsx +0 -5
  306. package/src/ui/Layout/Main.tsx +0 -15
  307. package/src/ui/Layout/index.ts +0 -5
  308. package/src/ui/Message/index.ts +0 -6
  309. package/src/ui/SendingMessage/index.ts +0 -4
  310. package/src/ui/SystemMessage/SystemMessageRow.tsx +0 -43
  311. package/src/ui/SystemMessage/index.ts +0 -2
  312. package/src/util/index.ts +0 -2
  313. package/src/util/uniqBy.tsx +0 -17
  314. package/src/util/uniqId.tsx +0 -3
@@ -0,0 +1,10 @@
1
+ import { ChatifyClient } from '../client';
2
+ import { Debounce } from '../debounce';
3
+ export declare const DEFAULT_MESSAGE_LIST_TAKE = 20;
4
+ export declare const CHAT_MESSAGE_READ_QUEUE: Debounce<string>;
5
+ export interface ChatifyApiSettings {
6
+ me: () => string;
7
+ client: ChatifyClient;
8
+ }
9
+ export declare const __settings: ChatifyApiSettings;
10
+ export declare const __baseApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn, {}, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
@@ -0,0 +1,25 @@
1
+ import { Chat } from '../types';
2
+ export declare const __chatApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn, {
3
+ getChat: import("@reduxjs/toolkit/query").QueryDefinition<{
4
+ id: string;
5
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", Chat, "chatify">;
6
+ addChat: import("@reduxjs/toolkit/query").MutationDefinition<{
7
+ name: string;
8
+ members: string[];
9
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", string, "chatify">;
10
+ updateChatName: import("@reduxjs/toolkit/query").MutationDefinition<{
11
+ id: string;
12
+ name: string;
13
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
14
+ }, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
15
+ export declare const useGetChatQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
16
+ id: string;
17
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", Chat, "chatify">>, useLazyGetChatQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
18
+ id: string;
19
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", Chat, "chatify">>, useAddChatMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
20
+ name: string;
21
+ members: string[];
22
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", string, "chatify">>, useUpdateChatNameMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
23
+ id: string;
24
+ name: string;
25
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>;
@@ -0,0 +1,6 @@
1
+ import { ChatListItem } from '../types';
2
+ export declare function useChatListItem(id: string | null): ChatListItem | null | undefined;
3
+ export declare const __chatListApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn, {
4
+ getChatList: import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ChatListItem[], "chatify">;
5
+ }, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
6
+ export declare const useGetChatListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ChatListItem[], "chatify">>, useLazyGetChatListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ChatListItem[], "chatify">>;
@@ -0,0 +1,6 @@
1
+ import { AddChatMemberRequest, RemoveChatMemberRequest } from '../types';
2
+ export declare const __chatMemberApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn, {
3
+ removeChatMember: import("@reduxjs/toolkit/query").MutationDefinition<RemoveChatMemberRequest, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
4
+ addChatMember: import("@reduxjs/toolkit/query").MutationDefinition<AddChatMemberRequest, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
5
+ }, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
6
+ export declare const useAddChatMemberMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<AddChatMemberRequest, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>, useRemoveChatMemberMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<RemoveChatMemberRequest, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>;
@@ -0,0 +1,34 @@
1
+ import { DebounceValue } from '../debounce';
2
+ import { ChatMessage } from '../types';
3
+ export interface ChatMessageListResult {
4
+ messages: ChatMessage[];
5
+ hasMore: boolean;
6
+ }
7
+ export declare const __chatMessageApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn, {
8
+ getChatMessageList: import("@reduxjs/toolkit/query").QueryDefinition<{
9
+ chatId: string;
10
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ChatMessageListResult, "chatify">;
11
+ fetchNextChatMessageList: import("@reduxjs/toolkit/query").MutationDefinition<{
12
+ chatId: string;
13
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
14
+ sendChatMessage: import("@reduxjs/toolkit/query").MutationDefinition<{
15
+ chatId: string;
16
+ text: string;
17
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
18
+ readChatMessage: import("@reduxjs/toolkit/query").MutationDefinition<{
19
+ id: string;
20
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
21
+ getChatMessageReadQueue: import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", DebounceValue<string>[], "chatify">;
22
+ }, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
23
+ export declare const useFetchNextChatMessageListMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
24
+ chatId: string;
25
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>, useGetChatMessageListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
26
+ chatId: string;
27
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ChatMessageListResult, "chatify">>, useReadChatMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
28
+ id: string;
29
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>, useSendChatMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
30
+ chatId: string;
31
+ text: string;
32
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>, useGetChatMessageReadQueueQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", DebounceValue<string>[], "chatify">>, useLazyGetChatMessageListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
33
+ chatId: string;
34
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ChatMessageListResult, "chatify">>;
@@ -0,0 +1,9 @@
1
+ export * from './baseApi';
2
+ export * from './accountApi';
3
+ export * from './chatApi';
4
+ export * from './chatListApi';
5
+ export * from './chatMemberApi';
6
+ export * from './chatMessageApi';
7
+ export * from './threadApi';
8
+ export * from './threadMessageApi';
9
+ export * from './api';
@@ -0,0 +1,95 @@
1
+ import { Thread, ThreadWatchListItem } from '../types';
2
+ export declare const __threadApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn, {
3
+ getWatchThreadList: import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">;
4
+ getThread: import("@reduxjs/toolkit/query").QueryDefinition<{
5
+ id: string;
6
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", Thread, "chatify">;
7
+ watchThread: import("@reduxjs/toolkit/query").MutationDefinition<{
8
+ id: string;
9
+ watch: boolean;
10
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
11
+ }, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
12
+ export declare function useUnreadThreadMessageCount(): readonly [number | null, {
13
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
14
+ requestId?: undefined;
15
+ error?: undefined;
16
+ fulfilledTimeStamp?: undefined;
17
+ originalArgs?: undefined;
18
+ endpointName?: string | undefined;
19
+ startedTimeStamp?: undefined;
20
+ currentData?: ThreadWatchListItem[] | undefined;
21
+ isLoading: false;
22
+ isFetching: false;
23
+ isSuccess: false;
24
+ isError: false;
25
+ isUninitialized: true;
26
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>;
27
+ } | {
28
+ status: import("@reduxjs/toolkit/query").QueryStatus;
29
+ requestId?: string | undefined;
30
+ error?: unknown;
31
+ fulfilledTimeStamp?: number | undefined;
32
+ originalArgs?: void | undefined;
33
+ endpointName?: string | undefined;
34
+ startedTimeStamp?: number | undefined;
35
+ currentData?: ThreadWatchListItem[] | undefined;
36
+ isUninitialized: false;
37
+ isSuccess: false;
38
+ isError: false;
39
+ isLoading: true;
40
+ isFetching: boolean;
41
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>;
42
+ } | {
43
+ status: import("@reduxjs/toolkit/query").QueryStatus;
44
+ requestId?: string | undefined;
45
+ originalArgs?: void | undefined;
46
+ endpointName?: string | undefined;
47
+ startedTimeStamp?: number | undefined;
48
+ currentData?: ThreadWatchListItem[] | undefined;
49
+ isUninitialized: false;
50
+ isLoading: false;
51
+ isError: false;
52
+ isSuccess: true;
53
+ isFetching: true;
54
+ error: undefined;
55
+ fulfilledTimeStamp: number;
56
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>;
57
+ } | {
58
+ status: import("@reduxjs/toolkit/query").QueryStatus;
59
+ requestId?: string | undefined;
60
+ originalArgs?: void | undefined;
61
+ endpointName?: string | undefined;
62
+ startedTimeStamp?: number | undefined;
63
+ isUninitialized: false;
64
+ isLoading: false;
65
+ isError: false;
66
+ isSuccess: true;
67
+ isFetching: false;
68
+ error: undefined;
69
+ fulfilledTimeStamp: number;
70
+ currentData: ThreadWatchListItem[];
71
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>;
72
+ } | {
73
+ status: import("@reduxjs/toolkit/query").QueryStatus;
74
+ requestId?: string | undefined;
75
+ fulfilledTimeStamp?: number | undefined;
76
+ originalArgs?: void | undefined;
77
+ endpointName?: string | undefined;
78
+ startedTimeStamp?: number | undefined;
79
+ currentData?: ThreadWatchListItem[] | undefined;
80
+ isUninitialized: false;
81
+ isLoading: false;
82
+ isFetching: false;
83
+ isSuccess: false;
84
+ isError: true;
85
+ error: unknown;
86
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>;
87
+ }];
88
+ export declare const useGetWatchThreadListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>, useGetThreadQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
89
+ id: string;
90
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", Thread, "chatify">>, useLazyGetThreadQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
91
+ id: string;
92
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", Thread, "chatify">>, useLazyGetWatchThreadListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadWatchListItem[], "chatify">>, useWatchThreadMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
93
+ id: string;
94
+ watch: boolean;
95
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>;
@@ -0,0 +1,28 @@
1
+ import { SendThreadMessageRequest, ThreadMessage } from '../types';
2
+ import { DebounceValue } from '../debounce';
3
+ export interface ThreadMessageList {
4
+ messages: ThreadMessage[];
5
+ hasMore: boolean;
6
+ }
7
+ export declare const __threadMessageApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn, {
8
+ getThreadMessageList: import("@reduxjs/toolkit/query").QueryDefinition<{
9
+ threadId: string;
10
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadMessageList, "chatify">;
11
+ fetchNextThreadMessageList: import("@reduxjs/toolkit/query").MutationDefinition<{
12
+ threadId: string;
13
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
14
+ sendThreadMessage: import("@reduxjs/toolkit/query").MutationDefinition<SendThreadMessageRequest, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", string, "chatify">;
15
+ readThreadMessage: import("@reduxjs/toolkit/query").MutationDefinition<{
16
+ id: string;
17
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">;
18
+ getThreadMessageReadQueue: import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", DebounceValue<string>[], "chatify">;
19
+ }, "chatify", "chat" | "account" | "message" | "thread" | "thread-message", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
20
+ export declare const useFetchNextThreadMessageListMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
21
+ threadId: string;
22
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>, useGetThreadMessageListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
23
+ threadId: string;
24
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadMessageList, "chatify">>, useLazyGetThreadMessageListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
25
+ threadId: string;
26
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", ThreadMessageList, "chatify">>, useReadThreadMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
27
+ id: string;
28
+ }, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", void, "chatify">>, useSendThreadMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<SendThreadMessageRequest, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", string, "chatify">>, useGetThreadMessageReadQueueQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn, "chat" | "account" | "message" | "thread" | "thread-message", DebounceValue<string>[], "chatify">>;
@@ -1,5 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { Account, AddChatRequest, AddMemberRequest, Chat, ChatListItem, Message, ReadRequest, RemoveMemberRequest, SendMessageRequest, UpdateChatNameRequest } from './models';
2
+ import * as SignalR from '@microsoft/signalr';
3
+ import { Account, AddChatRequest, AddChatMemberRequest, Chat, ChatListItem, ChatMessage, ReadChatMessageEvent, ReadChatMessageRequest, RemoveChatMemberRequest, SendChatMessageRequest, UpdateChatNameRequest, SendThreadMessageRequest, Thread, ThreadMessage, ThreadWatchListItem as ThreadListItem } from './types';
3
4
  export interface ChatifySignalRConfig {
4
5
  hubUri?: string;
5
6
  accessTokenFactory?: () => Promise<string>;
@@ -9,28 +10,74 @@ export interface ChatifyClientConfig {
9
10
  axios: AxiosInstance;
10
11
  signalR: ChatifySignalRConfig;
11
12
  }
13
+ export declare const CHATIFY_SIGNALR_METHODS: readonly ["chatify://chat-new-message", "chatify://chat-created", "chatify://chat-message-read", "chatify://chat-member-added", "chatify://chat-member-removed", "chatify://chat-name-changed", "chatify://thread-created", "chatify://thread-message-new", "chatify://thread-message-read", "chatify://thread-watch-added", "chatify://thread-watch-removed"];
14
+ export type ChatifySignalRMethod = (typeof CHATIFY_SIGNALR_METHODS)[number];
15
+ export type ChatifySignalRArgsByMethod = {
16
+ 'chatify://chat-new-message': [message: ChatMessage, requestId: string];
17
+ 'chatify://chat-created': [chat: ChatListItem, requestId: string];
18
+ 'chatify://chat-message-read': [events: ReadChatMessageEvent[]];
19
+ 'chatify://chat-member-added': [
20
+ chatId: string,
21
+ chatName: string,
22
+ account: Account,
23
+ message: ChatMessage,
24
+ withHistory: boolean,
25
+ read: boolean
26
+ ];
27
+ 'chatify://chat-member-removed': [
28
+ chatId: string,
29
+ accountId: string,
30
+ deleteHistory: boolean,
31
+ message: ChatMessage,
32
+ read: boolean
33
+ ];
34
+ 'chatify://chat-name-changed': [chatId: string, newName: string, message: ChatMessage, read: boolean];
35
+ 'chatify://thread-message-new': [threadId: string, message: ThreadMessage, readForId: string | null];
36
+ 'chatify://thread-message-read': [threadId: string, messageId: string];
37
+ 'chatify://thread-watch-added': [thread: ThreadListItem];
38
+ 'chatify://thread-watch-removed': [id: string];
39
+ 'chatify://thread-created': [thread: ThreadListItem, watch: boolean];
40
+ };
12
41
  export declare class ChatifyClient {
13
42
  private _config;
14
43
  private _connection;
44
+ private _connectionPromise;
15
45
  private _subscribers;
16
46
  private _reconnectSubscribers;
17
47
  constructor(config: ChatifyClientConfig);
18
- connect: () => Promise<void>;
19
- subscribe: <T extends any[]>(method: string, subscriber: (args: T) => void) => () => ((args: any[]) => void)[];
48
+ connect: () => Promise<SignalR.HubConnection | undefined>;
49
+ private createAndStartConnection;
50
+ subscribe: <TMethod extends "chatify://chat-created" | "chatify://chat-name-changed" | "chatify://chat-new-message" | "chatify://chat-message-read" | "chatify://chat-member-added" | "chatify://chat-member-removed" | "chatify://thread-created" | "chatify://thread-message-new" | "chatify://thread-message-read" | "chatify://thread-watch-added" | "chatify://thread-watch-removed">(method: TMethod, subscriber: (args: ChatifySignalRArgsByMethod[TMethod]) => void) => () => ((args: any[]) => void)[];
20
51
  subscribeReconnect: (subscriber: () => any) => () => (() => void)[];
21
52
  private get axios();
22
53
  accounts: () => Promise<Account[]>;
23
54
  chats: () => Promise<ChatListItem[]>;
24
55
  chat: (id: string) => Promise<Chat>;
25
56
  addChat: (args: AddChatRequest) => Promise<string>;
26
- messages: (args: {
57
+ chatMessages: (args: {
27
58
  chatId: string;
28
59
  skip?: number;
29
60
  take?: number;
30
- }) => Promise<Message[]>;
31
- send: (request: SendMessageRequest) => Promise<void>;
32
- read: (request: ReadRequest) => Promise<void>;
33
- removeMember: (request: RemoveMemberRequest) => Promise<void>;
61
+ }) => Promise<ChatMessage[]>;
62
+ sendChatMessage: (request: SendChatMessageRequest) => Promise<void>;
63
+ readChatMessage: (request: ReadChatMessageRequest) => Promise<void>;
64
+ removeChatMember: (request: RemoveChatMemberRequest) => Promise<void>;
34
65
  updateChatName: (request: UpdateChatNameRequest) => Promise<void>;
35
- addMember: (request: AddMemberRequest) => Promise<void>;
66
+ addChatMember: (request: AddChatMemberRequest) => Promise<void>;
67
+ sendThreadMessage: ({ body, threadId }: SendThreadMessageRequest) => Promise<string>;
68
+ readThreadMessage: (id: string) => Promise<void>;
69
+ watchThreads: () => Promise<ThreadListItem[]>;
70
+ thread: (id: string) => Promise<Thread>;
71
+ threadMessages: ({ threadId, skip, take, }: {
72
+ threadId: string;
73
+ skip: number;
74
+ take: number;
75
+ }) => Promise<ThreadMessage[]>;
76
+ watchThread: (id: string, watch: boolean) => Promise<void>;
77
+ connectToThread: (id: string) => Promise<void>;
78
+ disconnectFromThread: (id: string) => Promise<void>;
36
79
  }
80
+ export declare function unsubscribe(...subscribers: Array<() => void>): {
81
+ (): void;
82
+ when(promise: Promise<any>): Promise<void>;
83
+ };
@@ -0,0 +1 @@
1
+ export declare const SYSTEM_ID = "chatify::system";
@@ -0,0 +1,27 @@
1
+ interface DebounceInternalValue<T> {
2
+ value: T;
3
+ enqueueTime: number;
4
+ }
5
+ export interface DebounceValue<T> extends DebounceInternalValue<T> {
6
+ state: 'enqueued' | 'processing';
7
+ }
8
+ export interface DebounceConfig<T> {
9
+ timeout: number;
10
+ callback: (value: T) => Promise<any>;
11
+ groupBy: (value: T) => string;
12
+ compare: (a: T, b: T) => number;
13
+ }
14
+ export declare class Debounce<T> {
15
+ config: DebounceConfig<T>;
16
+ private _enqueued;
17
+ private _processing;
18
+ private _timeoutByGroup;
19
+ private _subscribers;
20
+ constructor(config: DebounceConfig<T>);
21
+ get units(): DebounceValue<T>[];
22
+ subscribe: (callback: (value: Debounce<T>) => any) => () => void;
23
+ notify: () => void;
24
+ push(value: T): void;
25
+ private _process;
26
+ }
27
+ export {};
@@ -1,17 +1,4 @@
1
- export * from './models';
1
+ export * from './constants';
2
+ export * from './types';
3
+ export * from './api';
2
4
  export * from './client';
3
- export * from './action';
4
- export * from './reducer';
5
- export * from './state';
6
- export * from './useGetChatQuery';
7
- export * from './useGetChatListQuery';
8
- export * from './useFetchNextMutation';
9
- export * from './useGetMessagesQuery';
10
- export * from './useSignalRMonitor';
11
- export * from './useGetAccountsQuery';
12
- export * from './useAddChatMutation';
13
- export * from './useReadMonitor';
14
- export * from './useAddMemberMutation';
15
- export * from './useRemoveMemberMutation';
16
- export * from './useSendMutation';
17
- export * from './useUpdateChatNameMutation';
@@ -0,0 +1,105 @@
1
+ export interface File {
2
+ name: string;
3
+ bytes: number;
4
+ ref: string;
5
+ }
6
+ export interface Account {
7
+ id: string;
8
+ name: string;
9
+ avatar: string;
10
+ }
11
+ export interface MessageBase {
12
+ id: string;
13
+ text: string;
14
+ files: File[];
15
+ sentAt: string;
16
+ sentBy: Account;
17
+ }
18
+ export interface ChatMessage extends MessageBase {
19
+ chatId: string;
20
+ requestId?: string;
21
+ }
22
+ export interface Chat {
23
+ id: string;
24
+ name: string;
25
+ members: Account[];
26
+ active: boolean;
27
+ lastReadMessageId: string | null;
28
+ }
29
+ export interface ChatListItem {
30
+ id: string;
31
+ name: string;
32
+ message: ChatMessage;
33
+ totalUnreadCount: number;
34
+ active: boolean;
35
+ lastReadMessageId: string | null;
36
+ }
37
+ export interface SendChatMessageRequest {
38
+ chatId: string;
39
+ text: string;
40
+ files: File[];
41
+ requestId: string;
42
+ }
43
+ export interface MessageBody {
44
+ text: string;
45
+ files: File[];
46
+ }
47
+ export interface AddChatRequest {
48
+ requestId: string;
49
+ name: string;
50
+ message?: MessageBody;
51
+ members: string[];
52
+ }
53
+ export interface ReadChatMessageRequest {
54
+ id: string;
55
+ }
56
+ export interface ReadChatMessageEvent {
57
+ chatId: string;
58
+ newLastReadMessageId: string;
59
+ readCount: number;
60
+ }
61
+ export interface RemoveChatMemberRequest {
62
+ chatId: string;
63
+ accountId: string;
64
+ deleteHistory: boolean;
65
+ }
66
+ export interface AddChatMemberRequest {
67
+ chatId: string;
68
+ accountId: string;
69
+ withHistory: boolean;
70
+ }
71
+ export interface UpdateChatNameRequest {
72
+ id: string;
73
+ name: string;
74
+ }
75
+ export declare function chatId(messageId: string): string;
76
+ export interface ThreadWatchListItem {
77
+ id: string;
78
+ name: string;
79
+ createdById: string;
80
+ createdAt: string;
81
+ archive: boolean;
82
+ lastMessage: ThreadMessage | null;
83
+ lastReadMessageId: string | null;
84
+ }
85
+ export interface Thread {
86
+ id: string;
87
+ name: string;
88
+ createdBy: Account;
89
+ createdAt: string;
90
+ archive: boolean;
91
+ lastMessageId: string | null;
92
+ lastReadMessageId: string | null;
93
+ watch: boolean;
94
+ }
95
+ export interface ThreadMessage extends MessageBase {
96
+ threadId: string;
97
+ }
98
+ export interface SendThreadMessageRequest {
99
+ threadId: string;
100
+ body: MessageBody;
101
+ }
102
+ export type SystemMessageText = 'chatify://chat-created' | 'chatify://member-added' | 'chatify://member-removed' | `chatify://chat-name-changed`;
103
+ export declare function parseThreadMessageId(messageId: string): readonly [string, number];
104
+ export declare function calcThreadUnreadCount(thread: Pick<ThreadWatchListItem, 'lastMessage' | 'lastReadMessageId'>): number;
105
+ export declare function calcThreadListUnreadCount(threads: Pick<ThreadWatchListItem, 'lastMessage' | 'lastReadMessageId'>[]): number;
@@ -1,3 +1,2 @@
1
1
  export * from './ui';
2
2
  export * from './core';
3
- export * from './ChatifyContext';
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export interface ChatContext {
3
+ id: string;
4
+ showMembers: boolean;
5
+ onShowMembers: (value: boolean) => void;
6
+ }
7
+ export declare function useChatContext(): ChatContext;
8
+ export declare function ChatContext(props: PropsWithChildren<{
9
+ id: string;
10
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ChatEditableHeaderName: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ChatHeaderActions: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,13 @@
1
+ import { CSSProperties } from 'react';
2
+ import { Localizer } from '../localizer';
3
+ import { ChatViewCustomizeValue } from './ChatView';
4
+ export interface ChatPanelCustomizeValue extends ChatViewCustomizeValue {
5
+ }
6
+ export interface ChatPanelProps {
7
+ id: string;
8
+ className?: string;
9
+ style?: CSSProperties;
10
+ localizer?: Localizer;
11
+ customize?: ChatPanelCustomizeValue;
12
+ }
13
+ export declare function ChatPanel(props: ChatPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import { ConversationCustomizeValue, ConversationValue } from '../Conversation';
3
+ import { ChatEditableHeaderName } from './ChatEditableHeaderName';
4
+ import { ChatHeaderActions } from './ChatHeaderActions';
5
+ import { ChatMembersCustomizeValue } from './Members';
6
+ export interface ChatProps {
7
+ value: ChatValue;
8
+ }
9
+ export interface ChatValue extends ConversationValue {
10
+ }
11
+ export interface ChatViewCustomizeValue extends ConversationCustomizeValue, ChatMembersCustomizeValue {
12
+ ChatEditableHeaderName?: typeof ChatEditableHeaderName.Component | null;
13
+ ChatHeaderActions?: typeof ChatHeaderActions.Component | null;
14
+ ChatView?: typeof ChatView.Component | null;
15
+ }
16
+ export declare const DEFAULT_CHAT_VIEW_CUSTOMIZE_VALUE: ConversationCustomizeValue;
17
+ export declare const ChatView: import("../customize").Customizable<import("react").ComponentType<ChatProps>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ChatMembersButton: import("../../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ChatMembersPanel: import("../../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ChatMembersPreview: import("../../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,11 @@
1
+ import { ChatMembersButton } from './ChatMembersButton';
2
+ import { ChatMembersPanel } from './ChatMembersPanel';
3
+ import { ChatMembersPreview } from './ChatMembersPreview';
4
+ export * from './ChatMembersButton';
5
+ export * from './ChatMembersPanel';
6
+ export * from './ChatMembersPreview';
7
+ export interface ChatMembersCustomizeValue {
8
+ ChatMembersButton?: typeof ChatMembersButton.Component | null;
9
+ ChatMembersPanel?: typeof ChatMembersPanel.Component | null;
10
+ ChatMembersPreview?: typeof ChatMembersPreview.Component | null;
11
+ }
@@ -0,0 +1,6 @@
1
+ export * from './Members';
2
+ export * from './ChatView';
3
+ export * from './ChatContext';
4
+ export * from './ChatEditableHeaderName';
5
+ export * from './ChatHeaderActions';
6
+ export * from './ChatPanel';
@@ -0,0 +1,12 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export interface ChatGroupContext {
3
+ view: 'chat' | 'new-chat' | null;
4
+ chatId: string | null;
5
+ showMembers: boolean;
6
+ none(): void;
7
+ openChat(chatId: string): void;
8
+ toggleNewChat(): void;
9
+ toggleMembers(): void;
10
+ }
11
+ export declare function useChatGroupContext(): ChatGroupContext;
12
+ export declare function ChatGroupContext(props: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { CSSProperties, FC } from 'react';
2
+ import { Localizer } from '../localizer';
3
+ import { CreateChatPanelCustomizeValue } from './Create';
4
+ import { ChatGroupLayoutCustomizeValue } from './Layout';
5
+ import { ChatListCustomizeValue } from './List';
6
+ import { ChatViewCustomizeValue } from '../Chat';
7
+ export interface ChatGroupCustomizeValue extends ChatViewCustomizeValue, CreateChatPanelCustomizeValue, ChatListCustomizeValue, ChatGroupLayoutCustomizeValue {
8
+ }
9
+ export interface ChatifyProps {
10
+ className?: string;
11
+ style?: CSSProperties;
12
+ localizer?: Localizer;
13
+ customize?: ChatGroupCustomizeValue;
14
+ }
15
+ export declare const ChatGroupPanel: FC<ChatifyProps>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CreateChatButton: import("../../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -8,4 +8,4 @@ export interface CreateChatFormProps {
8
8
  onSubmit: (value: CreateChatFormValue) => void;
9
9
  busy?: boolean;
10
10
  }
11
- export declare const CreateChatForm: import("../customize").Customizable<import("react").ComponentType<CreateChatFormProps>>;
11
+ export declare const CreateChatForm: import("../../customize").Customizable<import("react").ComponentType<CreateChatFormProps>>;