@webinex/chatify 1.0.3-rc3 → 2.0.0-alpha3

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 (315) hide show
  1. package/dist/css/chatify.css +253 -118
  2. package/dist/esm/index.js +10 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/types/core/api/api.d.ts +12696 -0
  5. package/dist/esm/types/core/api/baseApi.d.ts +15 -0
  6. package/dist/esm/types/core/api/index.d.ts +1 -0
  7. package/dist/esm/types/core/client.d.ts +57 -9
  8. package/dist/esm/types/core/constants.d.ts +1 -0
  9. package/dist/esm/types/core/debounce.d.ts +27 -0
  10. package/dist/esm/types/core/index.d.ts +3 -16
  11. package/dist/esm/types/core/types.d.ts +102 -0
  12. package/dist/esm/types/index.d.ts +0 -1
  13. package/dist/esm/types/ui/Chat/ChatContext.d.ts +10 -0
  14. package/dist/esm/types/ui/Chat/ChatEditableHeaderName.d.ts +2 -0
  15. package/dist/esm/types/ui/Chat/ChatHeaderActions.d.ts +2 -0
  16. package/dist/esm/types/ui/Chat/ChatPanel.d.ts +13 -0
  17. package/dist/esm/types/ui/Chat/ChatView.d.ts +17 -0
  18. package/dist/esm/types/ui/Chat/Members/ChatMembersButton.d.ts +2 -0
  19. package/dist/esm/types/ui/Chat/Members/ChatMembersPanel.d.ts +2 -0
  20. package/dist/esm/types/ui/Chat/Members/ChatMembersPreview.d.ts +2 -0
  21. package/dist/esm/types/ui/Chat/Members/index.d.ts +11 -0
  22. package/dist/esm/types/ui/Chat/index.d.ts +6 -0
  23. package/dist/esm/types/ui/ChatGroup/ChatGroupContext.d.ts +12 -0
  24. package/dist/esm/types/ui/ChatGroup/ChatGroupPanel.d.ts +15 -0
  25. package/dist/esm/types/ui/ChatGroup/Create/CreateChatButton.d.ts +2 -0
  26. package/dist/esm/types/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatForm.d.ts +1 -1
  27. package/dist/esm/types/ui/ChatGroup/Create/CreateChatMemberInput.d.ts +5 -0
  28. package/dist/esm/types/ui/ChatGroup/Create/CreateChatNameInput.d.ts +5 -0
  29. package/dist/esm/types/ui/ChatGroup/Create/CreateChatPanel.d.ts +2 -0
  30. package/dist/esm/types/ui/ChatGroup/Create/index.d.ts +17 -0
  31. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupAside.d.ts +2 -0
  32. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupBody.d.ts +2 -0
  33. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupFooter.d.ts +2 -0
  34. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupHeader.d.ts +2 -0
  35. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupMain.d.ts +2 -0
  36. package/dist/esm/types/ui/ChatGroup/Layout/index.d.ts +17 -0
  37. package/dist/esm/types/ui/ChatGroup/List/ChatList.d.ts +2 -0
  38. package/dist/esm/types/ui/ChatGroup/List/ChatListItemAvatar.d.ts +3 -0
  39. package/dist/esm/types/ui/ChatGroup/List/ChatListItemBox.d.ts +6 -0
  40. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessage.d.ts +3 -0
  41. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageAuthor.d.ts +3 -0
  42. package/dist/esm/types/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageContent.d.ts +1 -1
  43. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageSentAt.d.ts +3 -0
  44. package/dist/esm/types/ui/ChatGroup/List/ChatListItemName.d.ts +3 -0
  45. package/dist/esm/types/ui/ChatGroup/List/ChatListItemUnreadCount.d.ts +3 -0
  46. package/dist/esm/types/ui/ChatGroup/List/index.d.ts +29 -0
  47. package/dist/esm/types/ui/ChatGroup/index.d.ts +5 -0
  48. package/dist/esm/types/ui/Chatify.d.ts +8 -72
  49. package/dist/esm/types/ui/Conversation/Conversation.d.ts +23 -0
  50. package/dist/esm/types/ui/Conversation/ConversationActions.d.ts +2 -0
  51. package/dist/esm/types/ui/Conversation/ConversationBody.d.ts +2 -0
  52. package/dist/esm/types/ui/Conversation/ConversationContext.d.ts +22 -0
  53. package/dist/esm/types/ui/Conversation/ConversationHeader.d.ts +2 -0
  54. package/dist/esm/types/ui/Conversation/ConversationName.d.ts +2 -0
  55. package/dist/esm/types/ui/Conversation/InputBox/InputBox.d.ts +2 -0
  56. package/dist/esm/types/ui/Conversation/InputBox/InputBoxFile.d.ts +8 -0
  57. package/dist/esm/types/ui/Conversation/InputBox/InputBoxFileList.d.ts +8 -0
  58. package/dist/esm/types/ui/Conversation/InputBox/InputFilesBox.d.ts +12 -0
  59. package/dist/esm/types/ui/Conversation/InputBox/InputSubmitButtonBox.d.ts +7 -0
  60. package/dist/esm/types/ui/Conversation/InputBox/InputTextBox.d.ts +9 -0
  61. package/dist/esm/types/ui/Conversation/InputBox/index.d.ts +21 -0
  62. package/dist/esm/types/ui/Conversation/Message/MessageAuthor.d.ts +3 -0
  63. package/dist/esm/types/ui/Conversation/Message/MessageBox.d.ts +6 -0
  64. package/dist/esm/types/ui/Conversation/Message/MessageContent.d.ts +3 -0
  65. package/dist/esm/types/ui/Conversation/Message/MessageFile.d.ts +6 -0
  66. package/dist/esm/types/ui/Conversation/Message/MessageFileList.d.ts +3 -0
  67. package/dist/esm/types/ui/Conversation/Message/MessageInfoBox.d.ts +3 -0
  68. package/dist/esm/types/ui/{Message → Conversation/Message}/MessageRow.d.ts +1 -1
  69. package/dist/esm/types/ui/Conversation/Message/MessageText.d.ts +3 -0
  70. package/dist/esm/types/ui/Conversation/Message/index.d.ts +26 -0
  71. package/dist/esm/types/ui/Conversation/NextObserver/NextMessagesObserver.d.ts +5 -0
  72. package/dist/esm/types/ui/Conversation/NextObserver/index.d.ts +1 -0
  73. package/dist/esm/types/ui/Conversation/ReadObserver/MessageReadObserver.d.ts +6 -0
  74. package/dist/esm/types/ui/Conversation/ReadObserver/index.d.ts +1 -0
  75. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageBox.d.ts +7 -0
  76. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageContent.d.ts +3 -0
  77. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageInfoBox.d.ts +3 -0
  78. package/dist/esm/types/ui/{SendingMessage/SendingMessageInfoBox.d.ts → Conversation/SendingMessage/SendingMessageText.d.ts} +1 -1
  79. package/dist/esm/types/ui/Conversation/SendingMessage/index.d.ts +14 -0
  80. package/dist/esm/types/ui/Conversation/SystemMessage/SystemMessageBox.d.ts +6 -0
  81. package/dist/esm/types/ui/Conversation/SystemMessage/SystemMessageRow.d.ts +9 -0
  82. package/dist/esm/types/ui/Conversation/SystemMessage/index.d.ts +8 -0
  83. package/dist/esm/types/ui/Conversation/index.d.ts +12 -0
  84. package/dist/esm/types/ui/{InputBox/InputFilesBox.d.ts → Thread/ThreadActions.d.ts} +1 -1
  85. package/dist/esm/types/ui/Thread/ThreadContext.d.ts +8 -0
  86. package/dist/esm/types/ui/Thread/ThreadPanel.d.ts +14 -0
  87. package/dist/esm/types/ui/Thread/index.d.ts +3 -0
  88. package/dist/esm/types/ui/color.d.ts +6 -0
  89. package/dist/esm/types/ui/common/Avatar.d.ts +6 -0
  90. package/dist/esm/types/ui/common/Icon.d.ts +22 -0
  91. package/dist/esm/types/ui/common/MessageSkeleton.d.ts +5 -0
  92. package/dist/esm/types/ui/common/index.d.ts +11 -0
  93. package/dist/esm/types/ui/customize.d.ts +5 -7
  94. package/dist/esm/types/ui/index.d.ts +9 -9
  95. package/dist/esm/types/ui/localizer.d.ts +7 -6
  96. package/dist/esm/types/ui/useFormatter.d.ts +3 -0
  97. package/dist/index.d.ts +13150 -425
  98. package/package.json +94 -92
  99. package/src/core/api/api.ts +639 -0
  100. package/src/core/api/baseApi.ts +38 -0
  101. package/src/core/api/index.ts +1 -0
  102. package/src/core/client.ts +280 -143
  103. package/src/core/constants.ts +1 -0
  104. package/src/core/debounce.ts +90 -0
  105. package/src/core/index.ts +4 -17
  106. package/src/core/types.tsx +149 -0
  107. package/src/index.ts +2 -3
  108. package/src/styles/aside.scss +162 -132
  109. package/src/styles/chat.scss +209 -211
  110. package/src/styles/index.scss +159 -108
  111. package/src/styles/input.scss +147 -72
  112. package/src/styles/keyframes.scss +14 -14
  113. package/src/styles/members.scss +13 -0
  114. package/src/styles/mixins.scss +25 -20
  115. package/src/styles/variables.scss +13 -10
  116. package/src/ui/Chat/ChatContext.tsx +30 -0
  117. package/src/ui/{ChatPanel/ChatHeaderName.tsx → Chat/ChatEditableHeaderName.tsx} +63 -69
  118. package/src/ui/Chat/ChatHeaderActions.tsx +19 -0
  119. package/src/ui/Chat/ChatPanel.tsx +30 -0
  120. package/src/ui/Chat/ChatView.tsx +115 -0
  121. package/src/ui/Chat/Members/ChatMembersButton.tsx +9 -0
  122. package/src/ui/{ChatPanel → Chat/Members}/ChatMembersPanel.tsx +112 -121
  123. package/src/ui/Chat/Members/ChatMembersPreview.tsx +25 -0
  124. package/src/ui/Chat/Members/index.ts +13 -0
  125. package/src/ui/Chat/index.ts +6 -0
  126. package/src/ui/ChatGroup/ChatGroupContext.tsx +50 -0
  127. package/src/ui/ChatGroup/ChatGroupPanel.tsx +73 -0
  128. package/src/ui/ChatGroup/Create/CreateChatButton.tsx +15 -0
  129. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatForm.tsx +36 -36
  130. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatMemberInput.tsx +65 -66
  131. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatNameInput.tsx +25 -25
  132. package/src/ui/{CreateChatPanel → ChatGroup/Create}/CreateChatPanel.tsx +45 -49
  133. package/src/ui/ChatGroup/Create/index.ts +19 -0
  134. package/src/ui/ChatGroup/Layout/ChatGroupAside.tsx +12 -0
  135. package/src/ui/ChatGroup/Layout/ChatGroupBody.tsx +10 -0
  136. package/src/ui/ChatGroup/Layout/ChatGroupFooter.tsx +3 -0
  137. package/src/ui/ChatGroup/Layout/ChatGroupHeader.tsx +5 -0
  138. package/src/ui/ChatGroup/Layout/ChatGroupMain.tsx +17 -0
  139. package/src/ui/ChatGroup/Layout/index.ts +19 -0
  140. package/src/ui/{ChatList → ChatGroup/List}/ChatList.tsx +41 -42
  141. package/src/ui/ChatGroup/List/ChatListItemAvatar.tsx +22 -0
  142. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemBox.tsx +26 -22
  143. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessage.tsx +15 -15
  144. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageAuthor.tsx +15 -20
  145. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageContent.tsx +21 -21
  146. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemLastMessageSentAt.tsx +22 -22
  147. package/src/ui/ChatGroup/List/ChatListItemName.tsx +8 -0
  148. package/src/ui/{ChatList → ChatGroup/List}/ChatListItemUnreadCount.tsx +12 -12
  149. package/src/ui/ChatGroup/List/index.ts +31 -0
  150. package/src/ui/ChatGroup/index.ts +5 -0
  151. package/src/ui/Chatify.tsx +9 -154
  152. package/src/ui/Conversation/Conversation.tsx +78 -0
  153. package/src/ui/Conversation/ConversationActions.tsx +5 -0
  154. package/src/ui/Conversation/ConversationBody.tsx +28 -0
  155. package/src/ui/Conversation/ConversationContext.ts +29 -0
  156. package/src/ui/Conversation/ConversationHeader.tsx +23 -0
  157. package/src/ui/Conversation/ConversationName.tsx +7 -0
  158. package/src/ui/Conversation/InputBox/InputBox.tsx +122 -0
  159. package/src/ui/Conversation/InputBox/InputBoxFile.tsx +38 -0
  160. package/src/ui/Conversation/InputBox/InputBoxFileList.tsx +21 -0
  161. package/src/ui/Conversation/InputBox/InputFilesBox.tsx +78 -0
  162. package/src/ui/Conversation/InputBox/InputSubmitButtonBox.tsx +26 -0
  163. package/src/ui/{InputBox → Conversation/InputBox}/InputTextBox.tsx +61 -51
  164. package/src/ui/Conversation/InputBox/index.ts +23 -0
  165. package/src/ui/{Message → Conversation/Message}/MessageAuthor.tsx +13 -13
  166. package/src/ui/{Message → Conversation/Message}/MessageBox.tsx +20 -20
  167. package/src/ui/{Message → Conversation/Message}/MessageContent.tsx +15 -11
  168. package/src/ui/Conversation/Message/MessageFile.tsx +54 -0
  169. package/src/ui/Conversation/Message/MessageFileList.tsx +14 -0
  170. package/src/ui/{Message → Conversation/Message}/MessageInfoBox.tsx +28 -26
  171. package/src/ui/{Message → Conversation/Message}/MessageRow.tsx +28 -28
  172. package/src/ui/{Message → Conversation/Message}/MessageText.tsx +7 -7
  173. package/src/ui/Conversation/Message/index.ts +28 -0
  174. package/src/ui/{Next.tsx → Conversation/NextObserver/NextMessagesObserver.tsx} +47 -48
  175. package/src/ui/Conversation/NextObserver/index.ts +1 -0
  176. package/src/ui/{MessageReadObserver.tsx → Conversation/ReadObserver/MessageReadObserver.tsx} +49 -45
  177. package/src/ui/Conversation/ReadObserver/index.ts +1 -0
  178. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageBox.tsx +16 -16
  179. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageContent.tsx +13 -13
  180. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageInfoBox.tsx +13 -13
  181. package/src/ui/{SendingMessage → Conversation/SendingMessage}/SendingMessageText.tsx +7 -7
  182. package/src/ui/Conversation/SendingMessage/index.ts +16 -0
  183. package/src/ui/{SystemMessage → Conversation/SystemMessage}/SystemMessageBox.tsx +20 -20
  184. package/src/ui/Conversation/SystemMessage/SystemMessageRow.tsx +28 -0
  185. package/src/ui/Conversation/SystemMessage/index.ts +10 -0
  186. package/src/ui/Conversation/index.ts +13 -0
  187. package/src/ui/Thread/ThreadActions.tsx +22 -0
  188. package/src/ui/Thread/ThreadContext.ts +13 -0
  189. package/src/ui/Thread/ThreadPanel.tsx +127 -0
  190. package/src/ui/Thread/index.tsx +3 -0
  191. package/src/ui/color.ts +20 -0
  192. package/src/ui/common/Avatar.tsx +20 -0
  193. package/src/ui/{Icon.tsx → common/Icon.tsx} +44 -35
  194. package/src/ui/{MessageSkeleton.tsx → common/MessageSkeleton.tsx} +20 -19
  195. package/src/ui/common/index.ts +13 -0
  196. package/src/ui/customize.tsx +51 -45
  197. package/src/ui/index.ts +11 -11
  198. package/src/ui/localizer.tsx +96 -84
  199. package/src/ui/useFormatter.tsx +17 -0
  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/src/ChatifyContext.tsx +0 -41
  271. package/src/core/action.tsx +0 -431
  272. package/src/core/models.tsx +0 -82
  273. package/src/core/reducer.tsx +0 -87
  274. package/src/core/state.ts +0 -93
  275. package/src/core/useAddChatMutation.tsx +0 -28
  276. package/src/core/useAddMemberMutation.tsx +0 -25
  277. package/src/core/useFetchNextMutation.tsx +0 -28
  278. package/src/core/useGetAccountsQuery.tsx +0 -30
  279. package/src/core/useGetChatListQuery.tsx +0 -30
  280. package/src/core/useGetChatQuery.tsx +0 -31
  281. package/src/core/useGetMessagesQuery.tsx +0 -35
  282. package/src/core/useReadMonitor.tsx +0 -32
  283. package/src/core/useRemoveMemberMutation.tsx +0 -23
  284. package/src/core/useSendMutation.tsx +0 -24
  285. package/src/core/useSignalRMonitor.tsx +0 -66
  286. package/src/core/useUpdateChatNameMutation.tsx +0 -23
  287. package/src/ui/AddChatButton.tsx +0 -17
  288. package/src/ui/Avatar.tsx +0 -18
  289. package/src/ui/ChatList/ChatListItemName.tsx +0 -13
  290. package/src/ui/ChatList/index.ts +0 -8
  291. package/src/ui/ChatName.tsx +0 -10
  292. package/src/ui/ChatPanel/ChatBody.tsx +0 -44
  293. package/src/ui/ChatPanel/ChatHeader.tsx +0 -31
  294. package/src/ui/ChatPanel/ChatHeaderMembers.tsx +0 -28
  295. package/src/ui/ChatPanel/ChatMembersButton.tsx +0 -21
  296. package/src/ui/ChatPanel/ChatPanel.tsx +0 -27
  297. package/src/ui/ChatPanel/index.ts +0 -6
  298. package/src/ui/CreateChatPanel/index.ts +0 -4
  299. package/src/ui/InputBox/InputBox.tsx +0 -38
  300. package/src/ui/InputBox/InputFilesBox.tsx +0 -9
  301. package/src/ui/InputBox/InputSubmitButtonBox.tsx +0 -17
  302. package/src/ui/InputBox/index.ts +0 -4
  303. package/src/ui/Layout/Aside.tsx +0 -12
  304. package/src/ui/Layout/Body.tsx +0 -10
  305. package/src/ui/Layout/Footer.tsx +0 -3
  306. package/src/ui/Layout/Header.tsx +0 -5
  307. package/src/ui/Layout/Main.tsx +0 -15
  308. package/src/ui/Layout/index.ts +0 -5
  309. package/src/ui/Message/index.ts +0 -6
  310. package/src/ui/SendingMessage/index.ts +0 -4
  311. package/src/ui/SystemMessage/SystemMessageRow.tsx +0 -43
  312. package/src/ui/SystemMessage/index.ts +0 -2
  313. package/src/util/index.ts +0 -2
  314. package/src/util/uniqBy.tsx +0 -17
  315. package/src/util/uniqId.tsx +0 -3
@@ -1,72 +1,8 @@
1
- import { CSSProperties, FC } from 'react';
2
- import { Localizer } from './localizer';
3
- import { Avatar } from './Avatar';
4
- import { ChatHeaderMembers } from './ChatPanel/ChatHeaderMembers';
5
- import { ChatMembersButton } from './ChatPanel/ChatMembersButton';
6
- import { AddChatButton } from './AddChatButton';
7
- import { ChatName } from './ChatName';
8
- import { Aside, Main, Body, Footer, Header } from './Layout';
9
- import { ChatListItemBox, ChatListItemLastMessageContent, ChatListItemLastMessageAuthor, ChatListItemLastMessage, ChatListItemUnreadCount, ChatListItemName, ChatListItemLastMessageSentAt } from './ChatList';
10
- import { SendingMessageBox, SendingMessageContent, SendingMessageInfoBox, SendingMessageText } from './SendingMessage';
11
- import { MessageBox, MessageRow, MessageContent, MessageText, MessageAuthor, MessageInfoBox } from './Message';
12
- import { MessageReadObserver } from './MessageReadObserver';
13
- import { Icon } from './Icon';
14
- import { SystemMessageRow } from './SystemMessage/SystemMessageRow';
15
- import { ChatList } from './ChatList';
16
- import { ChatBody, ChatHeader, ChatHeaderName, ChatPanel } from './ChatPanel';
17
- import { InputBox, InputFilesBox, InputSubmitButtonBox, InputTextBox } from './InputBox';
18
- import { SystemMessageBox } from './SystemMessage';
19
- import { CreateChatForm, CreateChatMemberInput, CreateChatNameInput, CreateChatPanel } from './CreateChatPanel';
20
- export interface ChatifyCustomizeValue {
21
- ChatList?: typeof ChatList.Component | null;
22
- ChatListItemBox?: typeof ChatListItemBox.Component | null;
23
- ChatListItemName?: typeof ChatListItemName.Component | null;
24
- ChatListItemUnreadCount?: typeof ChatListItemUnreadCount.Component | null;
25
- ChatListItemLastMessage?: typeof ChatListItemLastMessage.Component | null;
26
- ChatListItemLastMessageAuthor?: typeof ChatListItemLastMessageAuthor.Component | null;
27
- ChatListItemLastMessageContent?: typeof ChatListItemLastMessageContent.Component | null;
28
- ChatListItemLastMessageSentAt?: typeof ChatListItemLastMessageSentAt.Component | null;
29
- Header?: typeof Header.Component | null;
30
- Footer?: typeof Footer.Component | null;
31
- Body?: typeof Body.Component | null;
32
- Main?: typeof Main.Component | null;
33
- Aside?: typeof Aside.Component | null;
34
- MessageAuthor?: typeof MessageAuthor.Component | null;
35
- MessageBox?: typeof MessageBox.Component | null;
36
- MessageContent?: typeof MessageContent.Component | null;
37
- MessageInfoBox?: typeof MessageInfoBox.Component | null;
38
- MessageRow?: typeof MessageRow.Component | null;
39
- MessageText?: typeof MessageText.Component | null;
40
- SendingMessageBox?: typeof SendingMessageBox.Component | null;
41
- SendingMessageContent?: typeof SendingMessageContent.Component | null;
42
- SendingMessageInfoBox?: typeof SendingMessageInfoBox.Component | null;
43
- SendingMessageText?: typeof SendingMessageText.Component | null;
44
- ChatBody?: typeof ChatBody.Component | null;
45
- ChatHeader?: typeof ChatHeader.Component | null;
46
- ChatHeaderMembers?: typeof ChatHeaderMembers.Component | null;
47
- ChatHeaderName?: typeof ChatHeaderName.Component | null;
48
- ChatPanel?: typeof ChatPanel.Component | null;
49
- ChatMembersButton?: typeof ChatMembersButton.Component | null;
50
- InputBox?: typeof InputBox.Component | null;
51
- InputFilesBox?: typeof InputFilesBox.Component | null;
52
- InputSubmitButtonBox?: typeof InputSubmitButtonBox.Component | null;
53
- InputTextBox?: typeof InputTextBox.Component | null;
54
- SystemMessageBox?: typeof SystemMessageBox.Component | null;
55
- SystemMessageRow?: typeof SystemMessageRow.Component | null;
56
- CreateChatForm?: typeof CreateChatForm.Component | null;
57
- CreateChatMemberInput?: typeof CreateChatMemberInput.Component | null;
58
- CreateChatNameInput?: typeof CreateChatNameInput.Component | null;
59
- CreateChatPanel?: typeof CreateChatPanel.Component | null;
60
- MessageReadObserver?: typeof MessageReadObserver.Component | null;
61
- Avatar?: typeof Avatar.Component | null;
62
- AddChatButton?: typeof AddChatButton.Component | null;
63
- ChatName?: typeof ChatName.Component | null;
64
- Icon?: typeof Icon.Component | null;
65
- }
66
- export interface ChatifyProps {
67
- className?: string;
68
- style?: CSSProperties;
69
- localizer?: Localizer;
70
- customize?: ChatifyCustomizeValue;
71
- }
72
- export declare const Chatify: FC<ChatifyProps>;
1
+ /// <reference types="react" />
2
+ import { ChatPanel } from './Chat';
3
+ import { ThreadPanel } from './Thread';
4
+ export declare const Chatify: {
5
+ Thread: typeof ThreadPanel;
6
+ ChatGroup: import("react").FC<import("./ChatGroup").ChatifyProps>;
7
+ Chat: typeof ChatPanel;
8
+ };
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { ConversationHeader } from './ConversationHeader';
3
+ import { ConversationBody } from './ConversationBody';
4
+ import { ConversationName } from './ConversationName';
5
+ import { ConversationContextValue, ConversationValue } from './ConversationContext';
6
+ import { InputBoxCustomizeValue } from './InputBox';
7
+ import { ConversationActions } from './ConversationActions';
8
+ import { MessageCustomizeValue } from './Message';
9
+ import { SendingMessageCustomizeValue } from './SendingMessage';
10
+ import { SystemMessageCustomizeValue } from './SystemMessage';
11
+ import { CommonCustomizeValue } from '../common';
12
+ import type { Flippo } from '@webinex/flippo';
13
+ export interface ConversationProps extends Omit<ConversationContextValue, keyof ConversationValue> {
14
+ value: ConversationValue;
15
+ }
16
+ export interface ConversationCustomizeValue extends InputBoxCustomizeValue, MessageCustomizeValue, SendingMessageCustomizeValue, SystemMessageCustomizeValue, CommonCustomizeValue {
17
+ ConversationActions?: typeof ConversationActions.Component | null;
18
+ ConversationBody?: typeof ConversationBody.Component | null;
19
+ ConversationHeader?: typeof ConversationHeader.Component | null;
20
+ ConversationName?: typeof ConversationName.Component | null;
21
+ flippo?: Flippo;
22
+ }
23
+ export declare const Conversation: import("../customize").Customizable<import("react").ComponentType<ConversationProps>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ConversationActions: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ConversationBody: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { MessageBase, MessageBody } from '../../core';
3
+ import type { Flippo } from '@webinex/flippo';
4
+ export interface ConversationValue {
5
+ id: string;
6
+ name: string;
7
+ active: boolean;
8
+ lastReadMessageId: string | null;
9
+ }
10
+ export interface ConversationContextValue extends ConversationValue {
11
+ messages?: MessageBase[];
12
+ hasMore?: boolean;
13
+ nextLoading: boolean;
14
+ noReadTracking?: boolean;
15
+ isReading: (id: string) => boolean;
16
+ onNext: () => void;
17
+ onSend: (message: MessageBody) => void;
18
+ onRead: (id: string) => void;
19
+ flippo?: Flippo;
20
+ }
21
+ export declare const ConversationContext: React.Context<ConversationContextValue>;
22
+ export declare function useConversation(): ConversationContextValue;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ConversationHeader: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ConversationName: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const InputBox: import("../../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { File } from '../../../core';
3
+ export interface InputBoxFileProps {
4
+ file: File;
5
+ disabled?: boolean;
6
+ onDelete: (file: File) => void;
7
+ }
8
+ export declare const InputBoxFile: import("../../customize").Customizable<import("react").ComponentType<InputBoxFileProps>>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { File } from '../../../core';
3
+ export interface InputBoxFileListProps {
4
+ files: File[];
5
+ disabled?: boolean;
6
+ onDelete: (file: File) => void;
7
+ }
8
+ export declare const InputBoxFileList: import("../../customize").Customizable<import("react").ComponentType<InputBoxFileListProps>>;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { File } from '../../../core';
3
+ export interface InputFilesBoxProps {
4
+ value: File[];
5
+ accept?: string;
6
+ loading?: boolean;
7
+ disabled?: boolean;
8
+ onAddedClick?: () => void;
9
+ onUpload: (value: globalThis.File[]) => void;
10
+ }
11
+ export declare const InputFileButton: import("../../customize").Customizable<import("react").ComponentType<InputFilesBoxProps>>;
12
+ export declare const InputFilesBox: import("../../customize").Customizable<import("react").ComponentType<InputFilesBoxProps>>;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface InputSubmitButtonBoxProps {
3
+ onSubmit: () => void;
4
+ disabled?: boolean;
5
+ loading?: boolean;
6
+ }
7
+ export declare const InputSubmitButtonBox: import("../../customize").Customizable<import("react").ComponentType<InputSubmitButtonBoxProps>>;
@@ -0,0 +1,9 @@
1
+ import { RefObject } from 'react';
2
+ export interface TextInputBoxProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onSend: (value: string) => void;
6
+ disabled?: boolean;
7
+ inputRef?: RefObject<HTMLTextAreaElement>;
8
+ }
9
+ export declare const InputTextBox: import("../../customize").Customizable<import("react").ComponentType<TextInputBoxProps>>;
@@ -0,0 +1,21 @@
1
+ import { InputBox } from './InputBox';
2
+ import { InputBoxFile } from './InputBoxFile';
3
+ import { InputBoxFileList } from './InputBoxFileList';
4
+ import { InputFileButton, InputFilesBox } from './InputFilesBox';
5
+ import { InputSubmitButtonBox } from './InputSubmitButtonBox';
6
+ import { InputTextBox } from './InputTextBox';
7
+ export * from './InputBox';
8
+ export * from './InputFilesBox';
9
+ export * from './InputSubmitButtonBox';
10
+ export * from './InputTextBox';
11
+ export * from './InputBoxFileList';
12
+ export * from './InputBoxFile';
13
+ export interface InputBoxCustomizeValue {
14
+ InputBox?: typeof InputBox.Component | null;
15
+ InputTextBox?: typeof InputTextBox.Component | null;
16
+ InputFilesBox?: typeof InputFilesBox.Component | null;
17
+ InputSubmitButtonBox?: typeof InputSubmitButtonBox.Component | null;
18
+ InputBoxFileList?: typeof InputBoxFileList.Component | null;
19
+ InputBoxFile?: typeof InputBoxFile.Component | null;
20
+ InputFileButton?: typeof InputFileButton.Component | null;
21
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { MessageBoxProps } from './MessageBox';
3
+ export declare const MessageAuthor: import("../../customize").Customizable<import("react").ComponentType<MessageBoxProps>>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { MessageBase } from '../../../core';
3
+ export interface MessageBoxProps {
4
+ message: MessageBase;
5
+ }
6
+ export declare const MessageBox: import("../../customize").Customizable<import("react").ComponentType<MessageBoxProps>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { MessageBoxProps } from './MessageBox';
3
+ export declare const MessageContent: import("../../customize").Customizable<import("react").ComponentType<MessageBoxProps>>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { File } from '../../../core';
3
+ export interface MessageFileProps {
4
+ file: File;
5
+ }
6
+ export declare const MessageFile: import("../../customize").Customizable<import("react").ComponentType<MessageFileProps>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MessageBoxProps } from './MessageBox';
3
+ export declare const MessageFileList: import("../../customize").Customizable<import("react").ComponentType<MessageBoxProps>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { MessageBoxProps } from './MessageBox';
3
+ export declare const MessageInfoBox: import("../../customize").Customizable<import("react").ComponentType<MessageBoxProps>>;
@@ -3,4 +3,4 @@ import { MessageBoxProps } from './MessageBox';
3
3
  export interface MessageRowProps extends MessageBoxProps {
4
4
  containerRef?: Ref<HTMLDivElement>;
5
5
  }
6
- export declare const MessageRow: import("../customize").Customizable<import("react").ComponentType<MessageRowProps>>;
6
+ export declare const MessageRow: import("../../customize").Customizable<import("react").ComponentType<MessageRowProps>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MessageBoxProps } from './MessageBox';
3
+ export declare const MessageText: import("../../customize").Customizable<import("react").ComponentType<MessageBoxProps>>;
@@ -0,0 +1,26 @@
1
+ import { MessageAuthor } from './MessageAuthor';
2
+ import { MessageBox } from './MessageBox';
3
+ import { MessageContent } from './MessageContent';
4
+ import { MessageFile } from './MessageFile';
5
+ import { MessageFileList } from './MessageFileList';
6
+ import { MessageInfoBox } from './MessageInfoBox';
7
+ import { MessageRow } from './MessageRow';
8
+ import { MessageText } from './MessageText';
9
+ export * from './MessageAuthor';
10
+ export * from './MessageBox';
11
+ export * from './MessageContent';
12
+ export * from './MessageInfoBox';
13
+ export * from './MessageRow';
14
+ export * from './MessageText';
15
+ export * from './MessageFileList';
16
+ export * from './MessageFile';
17
+ export interface MessageCustomizeValue {
18
+ MessageAuthor?: typeof MessageAuthor.Component | null;
19
+ MessageBox?: typeof MessageBox.Component | null;
20
+ MessageContent?: typeof MessageContent.Component | null;
21
+ MessageInfoBox?: typeof MessageInfoBox.Component | null;
22
+ MessageRow?: typeof MessageRow.Component | null;
23
+ MessageText?: typeof MessageText.Component | null;
24
+ MessageFileList?: typeof MessageFileList.Component | null;
25
+ MessageFile?: typeof MessageFile.Component | null;
26
+ }
@@ -0,0 +1,5 @@
1
+ export interface NextMessagesObserverProps {
2
+ onLoad: () => void;
3
+ loading: boolean;
4
+ }
5
+ export declare function NextMessagesObserver(props: NextMessagesObserverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './NextMessagesObserver';
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+ import { MessageBoxProps } from '../Message';
3
+ export interface MessageReadObserverProps extends MessageBoxProps {
4
+ messageRef: RefObject<HTMLDivElement | null>;
5
+ }
6
+ export declare function MessageReadObserver(props: MessageReadObserverProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1 @@
1
+ export * from './MessageReadObserver';
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { File } from '../../../core';
3
+ export interface SendingMessageBoxProps {
4
+ text: string;
5
+ files: File[];
6
+ }
7
+ export declare const SendingMessageBox: import("../../customize").Customizable<import("react").ComponentType<SendingMessageBoxProps>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { SendingMessageBoxProps } from './SendingMessageBox';
3
+ export declare const SendingMessageContent: import("../../customize").Customizable<import("react").ComponentType<SendingMessageBoxProps>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { SendingMessageBoxProps } from './SendingMessageBox';
3
+ export declare const SendingMessageInfoBox: import("../../customize").Customizable<import("react").ComponentType<SendingMessageBoxProps>>;
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import type { SendingMessageBoxProps } from './SendingMessageBox';
3
- export declare const SendingMessageInfoBox: import("../customize").Customizable<import("react").ComponentType<SendingMessageBoxProps>>;
3
+ export declare const SendingMessageText: import("../../customize").Customizable<import("react").ComponentType<SendingMessageBoxProps>>;
@@ -0,0 +1,14 @@
1
+ import { SendingMessageBox } from './SendingMessageBox';
2
+ import { SendingMessageContent } from './SendingMessageContent';
3
+ import { SendingMessageInfoBox } from './SendingMessageInfoBox';
4
+ import { SendingMessageText } from './SendingMessageText';
5
+ export * from './SendingMessageBox';
6
+ export * from './SendingMessageContent';
7
+ export * from './SendingMessageInfoBox';
8
+ export * from './SendingMessageText';
9
+ export interface SendingMessageCustomizeValue {
10
+ SendingMessageBox?: typeof SendingMessageBox.Component | null;
11
+ SendingMessageContent?: typeof SendingMessageContent.Component | null;
12
+ SendingMessageInfoBox?: typeof SendingMessageInfoBox.Component | null;
13
+ SendingMessageText?: typeof SendingMessageText.Component | null;
14
+ }
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { MessageBase } from '../../../core';
3
+ export interface SystemMessageBoxProps {
4
+ message: MessageBase;
5
+ }
6
+ export declare const SystemMessageBox: import("../../customize").Customizable<import("react").ComponentType<SystemMessageBoxProps>>;
@@ -0,0 +1,9 @@
1
+ import { Ref } from 'react';
2
+ import { Localizer } from '../../localizer';
3
+ import { MessageBase } from '../../../core';
4
+ export interface SystemMessageRowProps {
5
+ message: MessageBase;
6
+ containerRef?: Ref<HTMLDivElement>;
7
+ }
8
+ export declare function formatSystemMessage(localizer: Localizer, text: string): React.ReactNode;
9
+ export declare const SystemMessageRow: import("../../customize").Customizable<import("react").ComponentType<SystemMessageRowProps>>;
@@ -0,0 +1,8 @@
1
+ import { SystemMessageBox } from './SystemMessageBox';
2
+ import { SystemMessageRow } from './SystemMessageRow';
3
+ export * from './SystemMessageBox';
4
+ export * from './SystemMessageRow';
5
+ export interface SystemMessageCustomizeValue {
6
+ SystemMessageBox?: typeof SystemMessageBox.Component | null;
7
+ SystemMessageRow?: typeof SystemMessageRow.Component | null;
8
+ }
@@ -0,0 +1,12 @@
1
+ export * from './InputBox';
2
+ export * from './Message';
3
+ export * from './NextObserver';
4
+ export * from './ReadObserver';
5
+ export * from './SendingMessage';
6
+ export * from './SystemMessage';
7
+ export * from './ConversationActions';
8
+ export * from './ConversationBody';
9
+ export * from './ConversationHeader';
10
+ export * from './ConversationName';
11
+ export * from './ConversationContext';
12
+ export * from './Conversation';
@@ -1,2 +1,2 @@
1
1
  /// <reference types="react" />
2
- export declare const InputFilesBox: import("../customize").Customizable<import("react").ComponentType<unknown>>;
2
+ export declare const ThreadActions: import("../customize").Customizable<import("react").ComponentType<unknown>>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export interface ThreadContextValue {
3
+ id: string;
4
+ watch: boolean;
5
+ onWatch: (value: boolean) => void;
6
+ }
7
+ export declare const ThreadContext: React.Context<ThreadContextValue>;
8
+ export declare function useThreadContext(): ThreadContextValue;
@@ -0,0 +1,14 @@
1
+ import { ConversationCustomizeValue } from '../Conversation';
2
+ import { Localizer } from '../localizer';
3
+ import { ThreadActions } from './ThreadActions';
4
+ import { CommonCustomizeValue } from '../common';
5
+ export interface ThreadCustomizeValue extends ConversationCustomizeValue, CommonCustomizeValue {
6
+ ThreadActions?: typeof ThreadActions.Component | null;
7
+ }
8
+ export interface ThreadPanelProps {
9
+ threadId: string;
10
+ className?: string;
11
+ customize?: ThreadCustomizeValue;
12
+ localizer?: Localizer;
13
+ }
14
+ export declare function ThreadPanel(props: ThreadPanelProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ export * from './ThreadActions';
2
+ export * from './ThreadPanel';
3
+ export * from './ThreadContext';
@@ -0,0 +1,6 @@
1
+ interface ColorOptions {
2
+ saturation?: number;
3
+ lightness?: number;
4
+ }
5
+ export declare function color(value: string, options?: ColorOptions): string;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { Account } from '../../core';
3
+ export interface AvatarProps {
4
+ account: Account;
5
+ }
6
+ export declare const Avatar: import("../customize").Customizable<import("react").ComponentType<AvatarProps>>;
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ export type IconType = keyof typeof ICONS;
3
+ export interface IconProps {
4
+ type: IconType;
5
+ }
6
+ export declare const ICONS: {
7
+ attach: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
8
+ send: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
9
+ 'remove-member': import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
10
+ 'remove-member-delete-history': import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
11
+ 'add-member': import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
12
+ 'add-member-with-history': import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
13
+ members: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
14
+ edit: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
15
+ close: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
16
+ chat: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
17
+ watch: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
18
+ unwatch: import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
19
+ 'delete-file': import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
20
+ 'open-file': import("react").ForwardRefExoticComponent<Omit<import("@ant-design/icons/lib/components/AntdIcon").AntdIconProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
21
+ };
22
+ export declare const Icon: import("../customize").Customizable<import("react").ComponentType<IconProps>>;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export interface MessageSkeletonProps {
3
+ count?: number;
4
+ }
5
+ export declare const MessageSkeleton: import("../customize").Customizable<import("react").ComponentType<MessageSkeletonProps>>;
@@ -0,0 +1,11 @@
1
+ import { Avatar } from './Avatar';
2
+ import { Icon } from './Icon';
3
+ import { MessageSkeleton } from './MessageSkeleton';
4
+ export * from './Avatar';
5
+ export * from './Icon';
6
+ export * from './MessageSkeleton';
7
+ export interface CommonCustomizeValue {
8
+ Avatar?: typeof Avatar.Component | null;
9
+ Icon?: typeof Icon.Component | null;
10
+ MessageSkeleton?: typeof MessageSkeleton.Component | null;
11
+ }
@@ -1,11 +1,9 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import React from 'react';
2
2
  export type Customizable<TComponent extends React.ComponentType<any>> = TComponent & {
3
3
  Component: TComponent;
4
+ key: string;
4
5
  };
5
- export interface CustomizeProviderValue {
6
- [key: string]: React.ComponentType<any> | null;
7
- }
8
- export declare function CustomizeProvider(props: PropsWithChildren<{
9
- value: CustomizeProviderValue;
10
- }>): import("react/jsx-runtime").JSX.Element;
6
+ export declare const CustomizeContext: React.Context<Record<string, any>>;
7
+ export declare function useCustomizeContext<TValue>(): TValue;
8
+ export declare function useCustomize<TCustom extends Customizable<React.ComponentType<any>>>(custom: TCustom): TCustom["Component"] | null;
11
9
  export declare function customize<TComponent extends React.ComponentType<any>>(key: string, Component: TComponent): TComponent extends React.ComponentType<infer X> ? Customizable<React.ComponentType<X>> : never;
@@ -1,11 +1,11 @@
1
+ export * from './color';
2
+ export * from './customize';
1
3
  export * from './Chatify';
2
- export * from './Avatar';
3
4
  export * from './localizer';
4
- export * from './AddChatButton';
5
- export * from './Layout/Header';
6
- export * from './ChatPanel/ChatHeader';
7
- export * from './ChatPanel/ChatHeaderMembers';
8
- export * from './ChatList/ChatListItemBox';
9
- export * from './Message/MessageBox';
10
- export * from './SystemMessage/SystemMessageBox';
11
- export * from './Icon';
5
+ export * from './Chat';
6
+ export * from './ChatGroup';
7
+ export * from './Conversation';
8
+ export * from './Thread';
9
+ export * from './common/Icon';
10
+ export * from './common/Avatar';
11
+ export * from './common/MessageSkeleton';
@@ -1,14 +1,10 @@
1
1
  import React from 'react';
2
+ import { SystemMessageText } from '../core';
2
3
  export interface Localizer {
3
4
  isToday: (value: string) => boolean;
4
5
  timestamp: (value: string) => string;
5
6
  dateTime: (value: string) => string;
6
- system: {
7
- chatCreated: () => string;
8
- memberAdded: () => string;
9
- memberRemoved: () => string;
10
- chatNameChanged: (newName: string) => string;
11
- };
7
+ system: Record<SystemMessageText, (key: SystemMessageText, payload: any | null) => string>;
12
8
  message: {
13
9
  read: () => React.ReactNode;
14
10
  reading: () => React.ReactNode;
@@ -33,6 +29,11 @@ export interface Localizer {
33
29
  settings: {
34
30
  members: () => string;
35
31
  };
32
+ size: {
33
+ bytes: (value: number) => string;
34
+ kb: (value: number) => string;
35
+ mb: (value: number) => string;
36
+ };
36
37
  }
37
38
  export declare const LocalizerContext: React.Context<Localizer>;
38
39
  export declare function useLocalizer(): Localizer;
@@ -0,0 +1,3 @@
1
+ export declare function useFormatter(): {
2
+ size: (value: number) => string;
3
+ };