@webinex/chatify 2.0.0-build2 → 2.0.0-build202511241945

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 (295) hide show
  1. package/dist/Chatify-LHpROnDl.js +2215 -0
  2. package/dist/Chatify-LHpROnDl.js.map +1 -0
  3. package/dist/Chatify.css +670 -0
  4. package/dist/audit.css +60 -0
  5. package/dist/audit.js +242 -0
  6. package/dist/audit.js.map +1 -0
  7. package/dist/index.js +97 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types/audit/AuditChatList.d.ts +9 -0
  10. package/dist/types/audit/AuditConversationPanel.d.ts +10 -0
  11. package/dist/types/audit/AuditPanel.d.ts +14 -0
  12. package/dist/types/audit/AuditPanelCustomizeValue.d.ts +9 -0
  13. package/dist/types/audit/AuditSearch.d.ts +5 -0
  14. package/dist/types/audit/AuditSearchValue.d.ts +14 -0
  15. package/dist/types/audit/auditApi.d.ts +94 -0
  16. package/dist/types/audit/index.d.ts +17 -0
  17. package/dist/types/core/api/api.d.ts +17295 -0
  18. package/dist/types/core/api/baseApi.d.ts +15 -0
  19. package/dist/types/core/api/index.d.ts +1 -0
  20. package/dist/{esm/types → types}/core/client.d.ts +9 -6
  21. package/dist/{esm/types → types}/core/types.d.ts +28 -6
  22. package/dist/types/ui/Chat/ChatEditableHeaderName.d.ts +1 -0
  23. package/dist/types/ui/Chat/ChatHeaderActions.d.ts +1 -0
  24. package/dist/{esm/types → types}/ui/Chat/ChatView.d.ts +1 -2
  25. package/dist/types/ui/Chat/Members/ChatMembersButton.d.ts +1 -0
  26. package/dist/types/ui/Chat/Members/ChatMembersPanel.d.ts +1 -0
  27. package/dist/types/ui/Chat/Members/ChatMembersPreview.d.ts +1 -0
  28. package/dist/{esm/types → types}/ui/ChatGroup/ChatGroupPanel.d.ts +2 -2
  29. package/dist/types/ui/ChatGroup/Create/CreateChatButton.d.ts +1 -0
  30. package/dist/{esm/types → types}/ui/ChatGroup/Create/CreateChatForm.d.ts +1 -2
  31. package/dist/types/ui/ChatGroup/Create/CreateChatMemberInput.d.ts +4 -0
  32. package/dist/types/ui/ChatGroup/Create/CreateChatNameInput.d.ts +4 -0
  33. package/dist/types/ui/ChatGroup/Create/CreateChatPanel.d.ts +1 -0
  34. package/dist/types/ui/ChatGroup/Layout/ChatGroupAside.d.ts +1 -0
  35. package/dist/types/ui/ChatGroup/Layout/ChatGroupBody.d.ts +1 -0
  36. package/dist/types/ui/ChatGroup/Layout/ChatGroupFooter.d.ts +1 -0
  37. package/dist/types/ui/ChatGroup/Layout/ChatGroupHeader.d.ts +1 -0
  38. package/dist/types/ui/ChatGroup/Layout/ChatGroupMain.d.ts +1 -0
  39. package/dist/types/ui/ChatGroup/List/ChatListPanel.d.ts +1 -0
  40. package/dist/types/ui/ChatGroup/List/index.d.ts +6 -0
  41. package/dist/types/ui/Chatify.d.ts +9 -0
  42. package/dist/{esm/types → types}/ui/Conversation/Conversation.d.ts +3 -2
  43. package/dist/types/ui/Conversation/ConversationActions.d.ts +1 -0
  44. package/dist/types/ui/Conversation/ConversationBody.d.ts +1 -0
  45. package/dist/{esm/types → types}/ui/Conversation/ConversationContext.d.ts +7 -4
  46. package/dist/types/ui/Conversation/ConversationHeader.d.ts +1 -0
  47. package/dist/types/ui/Conversation/ConversationName.d.ts +1 -0
  48. package/dist/types/ui/Conversation/InputBox/InputBox.d.ts +1 -0
  49. package/dist/types/ui/Conversation/InputBox/InputBoxFile.d.ts +7 -0
  50. package/dist/types/ui/Conversation/InputBox/InputBoxFileList.d.ts +7 -0
  51. package/dist/types/ui/Conversation/InputBox/InputFilesBox.d.ts +11 -0
  52. package/dist/types/ui/Conversation/InputBox/InputSubmitButtonBox.d.ts +6 -0
  53. package/dist/{esm/types → types}/ui/Conversation/InputBox/InputTextBox.d.ts +2 -1
  54. package/dist/{esm/types → types}/ui/Conversation/InputBox/index.d.ts +8 -1
  55. package/dist/types/ui/Conversation/Message/MessageAuthor.d.ts +2 -0
  56. package/dist/types/ui/Conversation/Message/MessageBox.d.ts +5 -0
  57. package/dist/types/ui/Conversation/Message/MessageContent.d.ts +2 -0
  58. package/dist/types/ui/Conversation/Message/MessageFile.d.ts +5 -0
  59. package/dist/types/ui/Conversation/Message/MessageFileList.d.ts +2 -0
  60. package/dist/types/ui/Conversation/Message/MessageInfoBox.d.ts +2 -0
  61. package/dist/{esm/types → types}/ui/Conversation/Message/MessageRow.d.ts +1 -1
  62. package/dist/types/ui/Conversation/Message/MessageText.d.ts +2 -0
  63. package/dist/{esm/types → types}/ui/Conversation/Message/index.d.ts +6 -0
  64. package/dist/types/ui/Conversation/SendingMessage/SendingMessageBox.d.ts +6 -0
  65. package/dist/types/ui/Conversation/SendingMessage/SendingMessageContent.d.ts +2 -0
  66. package/dist/types/ui/Conversation/SendingMessage/SendingMessageInfoBox.d.ts +2 -0
  67. package/dist/types/ui/Conversation/SendingMessage/SendingMessageText.d.ts +2 -0
  68. package/dist/types/ui/Conversation/SystemMessage/SystemMessageBox.d.ts +5 -0
  69. package/dist/{esm/types → types}/ui/Conversation/SystemMessage/SystemMessageRow.d.ts +1 -1
  70. package/dist/types/ui/Thread/ThreadActions.d.ts +1 -0
  71. package/dist/{esm/types → types}/ui/Thread/ThreadContext.d.ts +1 -1
  72. package/dist/types/ui/common/Avatar.d.ts +5 -0
  73. package/dist/types/ui/common/ChatList/ChatList.d.ts +16 -0
  74. package/dist/types/ui/common/ChatList/ChatListItemAvatar.d.ts +2 -0
  75. package/dist/types/ui/common/ChatList/ChatListItemBox.d.ts +9 -0
  76. package/dist/types/ui/common/ChatList/ChatListItemLastMessage.d.ts +2 -0
  77. package/dist/types/ui/common/ChatList/ChatListItemLastMessageAuthor.d.ts +2 -0
  78. package/dist/types/ui/common/ChatList/ChatListItemLastMessageContent.d.ts +2 -0
  79. package/dist/types/ui/common/ChatList/ChatListItemLastMessageSentAt.d.ts +2 -0
  80. package/dist/types/ui/common/ChatList/ChatListItemName.d.ts +2 -0
  81. package/dist/types/ui/common/ChatList/ChatListItemUnreadCount.d.ts +2 -0
  82. package/dist/types/ui/common/ChatList/ChatListValue.d.ts +8 -0
  83. package/dist/{esm/types/ui/ChatGroup/List → types/ui/common/ChatList}/index.d.ts +1 -0
  84. package/dist/types/ui/common/Icon.d.ts +21 -0
  85. package/dist/types/ui/common/MessageSkeleton.d.ts +4 -0
  86. package/dist/{esm/types → types}/ui/common/index.d.ts +1 -0
  87. package/dist/{esm/types → types}/ui/customize.d.ts +3 -3
  88. package/dist/{esm/types → types}/ui/index.d.ts +1 -3
  89. package/dist/{esm/types → types}/ui/localizer.d.ts +12 -2
  90. package/dist/types/ui/useFormatter.d.ts +3 -0
  91. package/package.json +81 -94
  92. package/src/audit/AuditChatList.tsx +25 -0
  93. package/src/audit/AuditConversationPanel.tsx +48 -0
  94. package/src/audit/AuditPanel.tsx +76 -0
  95. package/src/audit/AuditPanelCustomizeValue.ts +11 -0
  96. package/src/audit/AuditSearch.tsx +89 -0
  97. package/src/audit/AuditSearchValue.tsx +42 -0
  98. package/src/audit/auditApi.tsx +110 -0
  99. package/src/audit/index.d.ts +18 -0
  100. package/src/audit/index.tsx +28 -0
  101. package/src/audit/styles.scss +72 -0
  102. package/src/core/api/api.ts +655 -42
  103. package/src/core/api/baseApi.ts +38 -30
  104. package/src/core/api/index.ts +1 -9
  105. package/src/core/client.ts +287 -269
  106. package/src/core/constants.ts +1 -1
  107. package/src/core/debounce.ts +90 -90
  108. package/src/core/index.ts +4 -4
  109. package/src/core/types.tsx +182 -152
  110. package/src/index.ts +2 -2
  111. package/src/styles/aside.scss +26 -161
  112. package/src/styles/chat-list.scss +138 -0
  113. package/src/styles/chat.scss +11 -208
  114. package/src/styles/conversation.scss +200 -0
  115. package/src/styles/index.scss +161 -110
  116. package/src/styles/input.scss +148 -74
  117. package/src/styles/keyframes.scss +14 -14
  118. package/src/styles/members.scss +13 -13
  119. package/src/styles/mixins.scss +25 -20
  120. package/src/styles/variables.scss +13 -10
  121. package/src/ui/Chat/ChatContext.tsx +30 -30
  122. package/src/ui/Chat/ChatEditableHeaderName.tsx +63 -63
  123. package/src/ui/Chat/ChatHeaderActions.tsx +19 -19
  124. package/src/ui/Chat/ChatPanel.tsx +30 -30
  125. package/src/ui/Chat/ChatView.tsx +115 -123
  126. package/src/ui/Chat/Members/ChatMembersButton.tsx +9 -9
  127. package/src/ui/Chat/Members/ChatMembersPanel.tsx +112 -117
  128. package/src/ui/Chat/Members/ChatMembersPreview.tsx +25 -25
  129. package/src/ui/Chat/Members/index.ts +13 -13
  130. package/src/ui/Chat/index.ts +6 -6
  131. package/src/ui/ChatGroup/ChatGroupContext.tsx +50 -50
  132. package/src/ui/ChatGroup/ChatGroupPanel.tsx +73 -73
  133. package/src/ui/ChatGroup/Create/CreateChatButton.tsx +15 -15
  134. package/src/ui/ChatGroup/Create/CreateChatForm.tsx +36 -36
  135. package/src/ui/ChatGroup/Create/CreateChatMemberInput.tsx +65 -65
  136. package/src/ui/ChatGroup/Create/CreateChatNameInput.tsx +25 -25
  137. package/src/ui/ChatGroup/Create/CreateChatPanel.tsx +45 -45
  138. package/src/ui/ChatGroup/Create/index.ts +19 -19
  139. package/src/ui/ChatGroup/Layout/ChatGroupAside.tsx +12 -12
  140. package/src/ui/ChatGroup/Layout/ChatGroupBody.tsx +10 -10
  141. package/src/ui/ChatGroup/Layout/ChatGroupFooter.tsx +3 -3
  142. package/src/ui/ChatGroup/Layout/ChatGroupHeader.tsx +5 -5
  143. package/src/ui/ChatGroup/Layout/ChatGroupMain.tsx +17 -17
  144. package/src/ui/ChatGroup/Layout/index.ts +19 -19
  145. package/src/ui/ChatGroup/List/ChatListPanel.tsx +28 -0
  146. package/src/ui/ChatGroup/List/index.ts +8 -31
  147. package/src/ui/ChatGroup/index.ts +5 -5
  148. package/src/ui/Chatify.tsx +15 -9
  149. package/src/ui/Conversation/Conversation.tsx +92 -76
  150. package/src/ui/Conversation/ConversationActions.tsx +12 -5
  151. package/src/ui/Conversation/ConversationBody.tsx +28 -28
  152. package/src/ui/Conversation/ConversationContext.ts +30 -27
  153. package/src/ui/Conversation/ConversationHeader.tsx +19 -23
  154. package/src/ui/Conversation/ConversationName.tsx +7 -7
  155. package/src/ui/Conversation/InputBox/InputBox.tsx +126 -40
  156. package/src/ui/Conversation/InputBox/InputBoxFile.tsx +38 -0
  157. package/src/ui/Conversation/InputBox/InputBoxFileList.tsx +21 -0
  158. package/src/ui/Conversation/InputBox/InputFilesBox.tsx +78 -9
  159. package/src/ui/Conversation/InputBox/InputSubmitButtonBox.tsx +26 -17
  160. package/src/ui/Conversation/InputBox/InputTextBox.tsx +61 -53
  161. package/src/ui/Conversation/InputBox/index.ts +23 -16
  162. package/src/ui/Conversation/Message/MessageAuthor.tsx +13 -13
  163. package/src/ui/Conversation/Message/MessageBox.tsx +20 -20
  164. package/src/ui/Conversation/Message/MessageContent.tsx +15 -11
  165. package/src/ui/Conversation/Message/MessageFile.tsx +54 -0
  166. package/src/ui/Conversation/Message/MessageFileList.tsx +14 -0
  167. package/src/ui/Conversation/Message/MessageInfoBox.tsx +28 -28
  168. package/src/ui/Conversation/Message/MessageRow.tsx +28 -28
  169. package/src/ui/Conversation/Message/MessageText.tsx +7 -7
  170. package/src/ui/Conversation/Message/index.ts +28 -22
  171. package/src/ui/Conversation/NextObserver/NextMessagesObserver.tsx +47 -47
  172. package/src/ui/Conversation/NextObserver/index.ts +1 -1
  173. package/src/ui/Conversation/ReadObserver/MessageReadObserver.tsx +49 -49
  174. package/src/ui/Conversation/ReadObserver/index.ts +1 -1
  175. package/src/ui/Conversation/SendingMessage/SendingMessageBox.tsx +16 -16
  176. package/src/ui/Conversation/SendingMessage/SendingMessageContent.tsx +13 -13
  177. package/src/ui/Conversation/SendingMessage/SendingMessageInfoBox.tsx +13 -13
  178. package/src/ui/Conversation/SendingMessage/SendingMessageText.tsx +7 -7
  179. package/src/ui/Conversation/SendingMessage/index.ts +16 -16
  180. package/src/ui/Conversation/SystemMessage/SystemMessageBox.tsx +20 -20
  181. package/src/ui/Conversation/SystemMessage/SystemMessageRow.tsx +28 -28
  182. package/src/ui/Conversation/SystemMessage/index.ts +10 -10
  183. package/src/ui/Conversation/index.ts +13 -13
  184. package/src/ui/Thread/ThreadActions.tsx +22 -22
  185. package/src/ui/Thread/ThreadContext.ts +13 -13
  186. package/src/ui/Thread/ThreadPanel.tsx +127 -138
  187. package/src/ui/Thread/index.tsx +3 -3
  188. package/src/ui/color.ts +20 -20
  189. package/src/ui/common/Avatar.tsx +20 -20
  190. package/src/ui/common/ChatList/ChatList.tsx +84 -0
  191. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemAvatar.tsx +22 -22
  192. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemBox.tsx +32 -26
  193. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemLastMessage.tsx +15 -15
  194. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemLastMessageAuthor.tsx +15 -15
  195. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemLastMessageContent.tsx +21 -21
  196. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemLastMessageSentAt.tsx +22 -22
  197. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemName.tsx +8 -8
  198. package/src/ui/{ChatGroup/List → common/ChatList}/ChatListItemUnreadCount.tsx +12 -12
  199. package/src/ui/common/ChatList/ChatListValue.ts +9 -0
  200. package/src/ui/common/ChatList/index.ts +32 -0
  201. package/src/ui/common/Icon.tsx +44 -40
  202. package/src/ui/common/MessageSkeleton.tsx +20 -20
  203. package/src/ui/common/index.ts +14 -13
  204. package/src/ui/customize.tsx +51 -53
  205. package/src/ui/index.ts +11 -11
  206. package/src/ui/localizer.tsx +108 -81
  207. package/src/ui/useFormatter.tsx +17 -0
  208. package/dist/css/chatify.css +0 -560
  209. package/dist/esm/index.js +0 -11
  210. package/dist/esm/index.js.map +0 -1
  211. package/dist/esm/types/core/api/accountApi.d.ts +0 -5
  212. package/dist/esm/types/core/api/api.d.ts +0 -2538
  213. package/dist/esm/types/core/api/baseApi.d.ts +0 -10
  214. package/dist/esm/types/core/api/chatApi.d.ts +0 -25
  215. package/dist/esm/types/core/api/chatListApi.d.ts +0 -6
  216. package/dist/esm/types/core/api/chatMemberApi.d.ts +0 -6
  217. package/dist/esm/types/core/api/chatMessageApi.d.ts +0 -34
  218. package/dist/esm/types/core/api/index.d.ts +0 -9
  219. package/dist/esm/types/core/api/threadApi.d.ts +0 -95
  220. package/dist/esm/types/core/api/threadMessageApi.d.ts +0 -28
  221. package/dist/esm/types/ui/Chat/ChatEditableHeaderName.d.ts +0 -2
  222. package/dist/esm/types/ui/Chat/ChatHeaderActions.d.ts +0 -2
  223. package/dist/esm/types/ui/Chat/Members/ChatMembersButton.d.ts +0 -2
  224. package/dist/esm/types/ui/Chat/Members/ChatMembersPanel.d.ts +0 -2
  225. package/dist/esm/types/ui/Chat/Members/ChatMembersPreview.d.ts +0 -2
  226. package/dist/esm/types/ui/ChatGroup/Create/CreateChatButton.d.ts +0 -2
  227. package/dist/esm/types/ui/ChatGroup/Create/CreateChatMemberInput.d.ts +0 -5
  228. package/dist/esm/types/ui/ChatGroup/Create/CreateChatNameInput.d.ts +0 -5
  229. package/dist/esm/types/ui/ChatGroup/Create/CreateChatPanel.d.ts +0 -2
  230. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupAside.d.ts +0 -2
  231. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupBody.d.ts +0 -2
  232. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupFooter.d.ts +0 -2
  233. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupHeader.d.ts +0 -2
  234. package/dist/esm/types/ui/ChatGroup/Layout/ChatGroupMain.d.ts +0 -2
  235. package/dist/esm/types/ui/ChatGroup/List/ChatList.d.ts +0 -2
  236. package/dist/esm/types/ui/ChatGroup/List/ChatListItemAvatar.d.ts +0 -3
  237. package/dist/esm/types/ui/ChatGroup/List/ChatListItemBox.d.ts +0 -6
  238. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessage.d.ts +0 -3
  239. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageAuthor.d.ts +0 -3
  240. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageContent.d.ts +0 -3
  241. package/dist/esm/types/ui/ChatGroup/List/ChatListItemLastMessageSentAt.d.ts +0 -3
  242. package/dist/esm/types/ui/ChatGroup/List/ChatListItemName.d.ts +0 -3
  243. package/dist/esm/types/ui/ChatGroup/List/ChatListItemUnreadCount.d.ts +0 -3
  244. package/dist/esm/types/ui/Chatify.d.ts +0 -8
  245. package/dist/esm/types/ui/Conversation/ConversationActions.d.ts +0 -2
  246. package/dist/esm/types/ui/Conversation/ConversationBody.d.ts +0 -2
  247. package/dist/esm/types/ui/Conversation/ConversationHeader.d.ts +0 -2
  248. package/dist/esm/types/ui/Conversation/ConversationName.d.ts +0 -2
  249. package/dist/esm/types/ui/Conversation/InputBox/InputBox.d.ts +0 -2
  250. package/dist/esm/types/ui/Conversation/InputBox/InputFilesBox.d.ts +0 -2
  251. package/dist/esm/types/ui/Conversation/InputBox/InputSubmitButtonBox.d.ts +0 -5
  252. package/dist/esm/types/ui/Conversation/Message/MessageAuthor.d.ts +0 -3
  253. package/dist/esm/types/ui/Conversation/Message/MessageBox.d.ts +0 -6
  254. package/dist/esm/types/ui/Conversation/Message/MessageContent.d.ts +0 -3
  255. package/dist/esm/types/ui/Conversation/Message/MessageInfoBox.d.ts +0 -3
  256. package/dist/esm/types/ui/Conversation/Message/MessageText.d.ts +0 -3
  257. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageBox.d.ts +0 -7
  258. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageContent.d.ts +0 -3
  259. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageInfoBox.d.ts +0 -3
  260. package/dist/esm/types/ui/Conversation/SendingMessage/SendingMessageText.d.ts +0 -3
  261. package/dist/esm/types/ui/Conversation/SystemMessage/SystemMessageBox.d.ts +0 -6
  262. package/dist/esm/types/ui/Thread/ThreadActions.d.ts +0 -2
  263. package/dist/esm/types/ui/common/Avatar.d.ts +0 -6
  264. package/dist/esm/types/ui/common/Icon.d.ts +0 -20
  265. package/dist/esm/types/ui/common/MessageSkeleton.d.ts +0 -5
  266. package/src/core/api/accountApi.ts +0 -13
  267. package/src/core/api/chatApi.ts +0 -89
  268. package/src/core/api/chatListApi.ts +0 -149
  269. package/src/core/api/chatMemberApi.ts +0 -22
  270. package/src/core/api/chatMessageApi.ts +0 -156
  271. package/src/core/api/threadApi.ts +0 -132
  272. package/src/core/api/threadMessageApi.ts +0 -127
  273. package/src/ui/ChatGroup/List/ChatList.tsx +0 -42
  274. /package/dist/{esm/types → types}/core/constants.d.ts +0 -0
  275. /package/dist/{esm/types → types}/core/debounce.d.ts +0 -0
  276. /package/dist/{esm/types → types}/core/index.d.ts +0 -0
  277. /package/dist/{esm/types → types}/index.d.ts +0 -0
  278. /package/dist/{esm/types → types}/ui/Chat/ChatContext.d.ts +0 -0
  279. /package/dist/{esm/types → types}/ui/Chat/ChatPanel.d.ts +0 -0
  280. /package/dist/{esm/types → types}/ui/Chat/Members/index.d.ts +0 -0
  281. /package/dist/{esm/types → types}/ui/Chat/index.d.ts +0 -0
  282. /package/dist/{esm/types → types}/ui/ChatGroup/ChatGroupContext.d.ts +0 -0
  283. /package/dist/{esm/types → types}/ui/ChatGroup/Create/index.d.ts +0 -0
  284. /package/dist/{esm/types → types}/ui/ChatGroup/Layout/index.d.ts +0 -0
  285. /package/dist/{esm/types → types}/ui/ChatGroup/index.d.ts +0 -0
  286. /package/dist/{esm/types → types}/ui/Conversation/NextObserver/NextMessagesObserver.d.ts +0 -0
  287. /package/dist/{esm/types → types}/ui/Conversation/NextObserver/index.d.ts +0 -0
  288. /package/dist/{esm/types → types}/ui/Conversation/ReadObserver/MessageReadObserver.d.ts +0 -0
  289. /package/dist/{esm/types → types}/ui/Conversation/ReadObserver/index.d.ts +0 -0
  290. /package/dist/{esm/types → types}/ui/Conversation/SendingMessage/index.d.ts +0 -0
  291. /package/dist/{esm/types → types}/ui/Conversation/SystemMessage/index.d.ts +0 -0
  292. /package/dist/{esm/types → types}/ui/Conversation/index.d.ts +0 -0
  293. /package/dist/{esm/types → types}/ui/Thread/ThreadPanel.d.ts +0 -0
  294. /package/dist/{esm/types → types}/ui/Thread/index.d.ts +0 -0
  295. /package/dist/{esm/types → types}/ui/color.d.ts +0 -0
@@ -1,22 +1,22 @@
1
- import { customize } from '../../customize';
2
- import { useLocalizer } from '../../localizer';
3
- import { ChatListItemBoxProps } from './ChatListItemBox';
4
-
5
- export const ChatListItemLastMessageSentAt = customize(
6
- 'ChatListItemLastMessageSentAt',
7
- (props: ChatListItemBoxProps) => {
8
- const {
9
- chat: {
10
- message: { sentAt },
11
- },
12
- } = props;
13
-
14
- const localizer = useLocalizer();
15
-
16
- return (
17
- <div className="wxchtf-chat-last-sent-at">
18
- {localizer.isToday(sentAt) ? localizer.timestamp(sentAt) : localizer.dateTime(sentAt)}
19
- </div>
20
- );
21
- },
22
- );
1
+ import { customize } from '../../customize';
2
+ import { useLocalizer } from '../../localizer';
3
+ import { ChatListItemBoxProps } from './ChatListItemBox';
4
+
5
+ export const ChatListItemLastMessageSentAt = customize(
6
+ 'ChatListItemLastMessageSentAt',
7
+ (props: ChatListItemBoxProps) => {
8
+ const {
9
+ chat: {
10
+ lastMessage: { sentAt },
11
+ },
12
+ } = props;
13
+
14
+ const localizer = useLocalizer();
15
+
16
+ return (
17
+ <div className="wxchtf-chat-last-sent-at">
18
+ {localizer.isToday(sentAt) ? localizer.timestamp(sentAt) : localizer.dateTime(sentAt)}
19
+ </div>
20
+ );
21
+ },
22
+ );
@@ -1,8 +1,8 @@
1
- import { customize } from '../../customize';
2
- import type { ChatListItemBoxProps } from './ChatListItemBox';
3
-
4
- export const ChatListItemName = customize('ChatListItemName', (props: ChatListItemBoxProps) => {
5
- const { chat } = props;
6
-
7
- return <div className="wxchtf-chat-name">{chat.name}</div>;
8
- });
1
+ import { customize } from '../../customize';
2
+ import type { ChatListItemBoxProps } from './ChatListItemBox';
3
+
4
+ export const ChatListItemName = customize('ChatListItemName', (props: ChatListItemBoxProps) => {
5
+ const { chat } = props;
6
+
7
+ return <div className="wxchtf-chat-name">{chat.name}</div>;
8
+ });
@@ -1,12 +1,12 @@
1
- import { customize } from '../../customize';
2
- import { ChatListItemBoxProps } from './ChatListItemBox';
3
-
4
- export const ChatListItemUnreadCount = customize('ChatListItemUnreadCount', (props: ChatListItemBoxProps) => {
5
- const { totalUnreadCount: unreadCount } = props.chat;
6
-
7
- if (unreadCount <= 0) {
8
- return null;
9
- }
10
-
11
- return <div className="wxchtf-unread-count">{unreadCount}</div>;
12
- });
1
+ import { customize } from '../../customize';
2
+ import { ChatListItemBoxProps } from './ChatListItemBox';
3
+
4
+ export const ChatListItemUnreadCount = customize('ChatListItemUnreadCount', (props: ChatListItemBoxProps) => {
5
+ const { totalUnreadCount: unreadCount } = props.chat;
6
+
7
+ if (unreadCount == null || unreadCount <= 0) {
8
+ return null;
9
+ }
10
+
11
+ return <div className="wxchtf-unread-count">{unreadCount}</div>;
12
+ });
@@ -0,0 +1,9 @@
1
+ import { MessageBase } from '../../../core';
2
+
3
+ export interface ChatListValue {
4
+ id: string;
5
+ name: string;
6
+ lastMessage: MessageBase;
7
+ totalUnreadCount?: number;
8
+ lastReadMessageId?: string | null;
9
+ }
@@ -0,0 +1,32 @@
1
+ import { ChatList } from './ChatList';
2
+ import { ChatListItemAvatar } from './ChatListItemAvatar';
3
+ import { ChatListItemBox } from './ChatListItemBox';
4
+ import { ChatListItemLastMessage } from './ChatListItemLastMessage';
5
+ import { ChatListItemLastMessageAuthor } from './ChatListItemLastMessageAuthor';
6
+ import { ChatListItemLastMessageContent } from './ChatListItemLastMessageContent';
7
+ import { ChatListItemLastMessageSentAt } from './ChatListItemLastMessageSentAt';
8
+ import { ChatListItemName } from './ChatListItemName';
9
+ import { ChatListItemUnreadCount } from './ChatListItemUnreadCount';
10
+
11
+ export * from './ChatList';
12
+ export * from './ChatListItemAvatar';
13
+ export * from './ChatListItemBox';
14
+ export * from './ChatListItemLastMessage';
15
+ export * from './ChatListItemLastMessageAuthor';
16
+ export * from './ChatListItemLastMessageContent';
17
+ export * from './ChatListItemLastMessageSentAt';
18
+ export * from './ChatListItemName';
19
+ export * from './ChatListItemUnreadCount';
20
+ export * from './ChatListValue';
21
+
22
+ export interface ChatListCustomizeValue {
23
+ ChatList?: typeof ChatList.Component | null;
24
+ ChatListItemAvatar?: typeof ChatListItemAvatar.Component | null;
25
+ ChatListItemBox?: typeof ChatListItemBox.Component | null;
26
+ ChatListItemLastMessage?: typeof ChatListItemLastMessage.Component | null;
27
+ ChatListItemLastMessageAuthor?: typeof ChatListItemLastMessageAuthor.Component | null;
28
+ ChatListItemLastMessageContent?: typeof ChatListItemLastMessageContent.Component | null;
29
+ ChatListItemLastMessageSentAt?: typeof ChatListItemLastMessageSentAt.Component | null;
30
+ ChatListItemName?: typeof ChatListItemName.Component | null;
31
+ ChatListItemUnreadCount?: typeof ChatListItemUnreadCount.Component | null;
32
+ }
@@ -1,40 +1,44 @@
1
- import { FC } from 'react';
2
- import { customize } from '../customize';
3
- import SendOutlined from '@ant-design/icons/SendOutlined';
4
- import PaperClipOutlined from '@ant-design/icons/PaperClipOutlined';
5
- import UserAddOutlined from '@ant-design/icons/UserAddOutlined';
6
- import UsergroupAddOutlined from '@ant-design/icons/UsergroupAddOutlined';
7
- import UserDeleteOutlined from '@ant-design/icons/UserDeleteOutlined';
8
- import UsergroupDeleteOutlined from '@ant-design/icons/UsergroupDeleteOutlined';
9
- import TeamOutlined from '@ant-design/icons/TeamOutlined';
10
- import EditOutlined from '@ant-design/icons/EditOutlined';
11
- import CloseOutlined from '@ant-design/icons/CloseOutlined';
12
- import EyeInvisibleOutlined from '@ant-design/icons/EyeInvisibleOutlined';
13
- import EyeOutlined from '@ant-design/icons/EyeOutlined';
14
-
15
- export type IconType = keyof typeof ICONS;
16
-
17
- export interface IconProps {
18
- type: IconType;
19
- }
20
-
21
- export const ICONS = {
22
- attach: PaperClipOutlined,
23
- send: SendOutlined,
24
- 'remove-member': UserDeleteOutlined,
25
- 'remove-member-delete-history': UsergroupDeleteOutlined,
26
- 'add-member': UserAddOutlined,
27
- 'add-member-with-history': UsergroupAddOutlined,
28
- members: TeamOutlined,
29
- edit: EditOutlined,
30
- close: CloseOutlined,
31
- chat: TeamOutlined,
32
- watch: EyeOutlined,
33
- unwatch: EyeInvisibleOutlined,
34
- };
35
-
36
- export const Icon = customize<FC<IconProps>>('Icon', (props) => {
37
- const { type } = props;
38
- const IconComponent = ICONS[type];
39
- return IconComponent ? <IconComponent /> : null;
40
- });
1
+ import { FC } from 'react';
2
+ import { customize } from '../customize';
3
+ import SendOutlined from '@ant-design/icons/SendOutlined';
4
+ import PaperClipOutlined from '@ant-design/icons/PaperClipOutlined';
5
+ import UserAddOutlined from '@ant-design/icons/UserAddOutlined';
6
+ import UsergroupAddOutlined from '@ant-design/icons/UsergroupAddOutlined';
7
+ import UserDeleteOutlined from '@ant-design/icons/UserDeleteOutlined';
8
+ import UsergroupDeleteOutlined from '@ant-design/icons/UsergroupDeleteOutlined';
9
+ import TeamOutlined from '@ant-design/icons/TeamOutlined';
10
+ import EditOutlined from '@ant-design/icons/EditOutlined';
11
+ import CloseOutlined from '@ant-design/icons/CloseOutlined';
12
+ import EyeInvisibleOutlined from '@ant-design/icons/EyeInvisibleOutlined';
13
+ import EyeOutlined from '@ant-design/icons/EyeOutlined';
14
+ import DeleteOutlined from '@ant-design/icons/DeleteOutlined';
15
+ import DownloadOutlined from '@ant-design/icons/DownloadOutlined';
16
+
17
+ export type IconType = keyof typeof ICONS;
18
+
19
+ export interface IconProps {
20
+ type: IconType;
21
+ }
22
+
23
+ export const ICONS = {
24
+ attach: PaperClipOutlined,
25
+ send: SendOutlined,
26
+ 'remove-member': UserDeleteOutlined,
27
+ 'remove-member-delete-history': UsergroupDeleteOutlined,
28
+ 'add-member': UserAddOutlined,
29
+ 'add-member-with-history': UsergroupAddOutlined,
30
+ members: TeamOutlined,
31
+ edit: EditOutlined,
32
+ close: CloseOutlined,
33
+ chat: TeamOutlined,
34
+ watch: EyeOutlined,
35
+ unwatch: EyeInvisibleOutlined,
36
+ 'delete-file': DeleteOutlined,
37
+ 'open-file': DownloadOutlined,
38
+ };
39
+
40
+ export const Icon = customize<FC<IconProps>>('Icon', (props) => {
41
+ const { type } = props;
42
+ const IconComponent = ICONS[type];
43
+ return IconComponent ? <IconComponent /> : null;
44
+ });
@@ -1,20 +1,20 @@
1
- import { Skeleton } from 'antd';
2
- import { customize } from '../customize';
3
-
4
- export interface MessageSkeletonProps {
5
- count?: number;
6
- }
7
-
8
- export const MessageSkeleton = customize('MessageSkeleton', (props: MessageSkeletonProps) => {
9
- const { count = 1 } = props;
10
- return (
11
- <>
12
- {Array.from(Array(count)).map((_, index) => (
13
- <div className="wxchtf-message-skeleton" key={index}>
14
- <Skeleton.Avatar className="wxchtf-avatar" active />
15
- <Skeleton.Button active className="wxchtf-content" />
16
- </div>
17
- ))}
18
- </>
19
- );
20
- });
1
+ import { Skeleton } from 'antd';
2
+ import { customize } from '../customize';
3
+
4
+ export interface MessageSkeletonProps {
5
+ count?: number;
6
+ }
7
+
8
+ export const MessageSkeleton = customize('MessageSkeleton', (props: MessageSkeletonProps) => {
9
+ const { count = 1 } = props;
10
+ return (
11
+ <>
12
+ {Array.from(Array(count)).map((_, index) => (
13
+ <div className="wxchtf-message-skeleton" key={index}>
14
+ <Skeleton.Avatar className="wxchtf-avatar" active />
15
+ <Skeleton.Button active className="wxchtf-content" />
16
+ </div>
17
+ ))}
18
+ </>
19
+ );
20
+ });
@@ -1,13 +1,14 @@
1
- import { Avatar } from './Avatar';
2
- import { Icon } from './Icon';
3
- import { MessageSkeleton } from './MessageSkeleton';
4
-
5
- export * from './Avatar';
6
- export * from './Icon';
7
- export * from './MessageSkeleton';
8
-
9
- export interface CommonCustomizeValue {
10
- Avatar?: typeof Avatar.Component | null;
11
- Icon?: typeof Icon.Component | null;
12
- MessageSkeleton?: typeof MessageSkeleton.Component | null;
13
- }
1
+ import { Avatar } from './Avatar';
2
+ import { Icon } from './Icon';
3
+ import { MessageSkeleton } from './MessageSkeleton';
4
+
5
+ export * from './Avatar';
6
+ export * from './Icon';
7
+ export * from './MessageSkeleton';
8
+ export * from './ChatList';
9
+
10
+ export interface CommonCustomizeValue {
11
+ Avatar?: typeof Avatar.Component | null;
12
+ Icon?: typeof Icon.Component | null;
13
+ MessageSkeleton?: typeof MessageSkeleton.Component | null;
14
+ }
@@ -1,53 +1,51 @@
1
- import React, { FC, useContext } from 'react';
2
-
3
- export type Customizable<TComponent extends React.ComponentType<any>> = TComponent & {
4
- Component: TComponent;
5
- key: string;
6
- };
7
-
8
- export const CustomizeContext = React.createContext<
9
- Record<string, React.ComponentType<any> | null | undefined>
10
- >(null!);
11
-
12
- export function useCustomizeContext() {
13
- return useContext(CustomizeContext);
14
- }
15
-
16
- function useCustom<TComponent extends React.ComponentType>(key: string): TComponent | undefined | null {
17
- const value = useContext(CustomizeContext);
18
- return value ? (value[key] as TComponent | null | undefined) : undefined;
19
- }
20
-
21
- export function useCustomize<TCustom extends Customizable<React.ComponentType<any>>>(custom: TCustom) {
22
- const Custom = useCustom<TCustom['Component']>(custom.key);
23
-
24
- if (Custom == null) {
25
- return null;
26
- }
27
-
28
- return Custom ?? custom.Component;
29
- }
30
-
31
- export function customize<TComponent extends React.ComponentType<any>>(
32
- key: string,
33
- Component: TComponent,
34
- ): TComponent extends React.ComponentType<infer X> ? Customizable<React.ComponentType<X>> : never {
35
- const Result: FC<any> = React.forwardRef<TComponent, any>((props: any, forwardRef) => {
36
- const Custom = useCustom(key);
37
-
38
- if (Custom === null) {
39
- return null;
40
- }
41
-
42
- if (Custom) {
43
- return <Custom {...props} ref={forwardRef} />;
44
- }
45
-
46
- return <Component {...props} ref={forwardRef} />;
47
- });
48
-
49
- Component.displayName = Component.displayName || key;
50
- Result.displayName = 'Customizable.' + Component.displayName;
51
-
52
- return Object.assign(Result, { key, Component }) as any;
53
- }
1
+ import React, { FC, useContext } from 'react';
2
+
3
+ export type Customizable<TComponent extends React.ComponentType<any>> = TComponent & {
4
+ Component: TComponent;
5
+ key: string;
6
+ };
7
+
8
+ export const CustomizeContext = React.createContext<Record<string, any>>(null!);
9
+
10
+ export function useCustomizeContext<TValue>() {
11
+ return useContext(CustomizeContext) as TValue;
12
+ }
13
+
14
+ function useCustom<TComponent extends React.ComponentType>(key: string): TComponent | undefined | null {
15
+ const value = useContext(CustomizeContext);
16
+ return value ? (value[key] as TComponent | null | undefined) : undefined;
17
+ }
18
+
19
+ export function useCustomize<TCustom extends Customizable<React.ComponentType<any>>>(custom: TCustom) {
20
+ const Custom = useCustom<TCustom['Component']>(custom.key);
21
+
22
+ if (Custom == null) {
23
+ return null;
24
+ }
25
+
26
+ return Custom ?? custom.Component;
27
+ }
28
+
29
+ export function customize<TComponent extends React.ComponentType<any>>(
30
+ key: string,
31
+ Component: TComponent,
32
+ ): TComponent extends React.ComponentType<infer X> ? Customizable<React.ComponentType<X>> : never {
33
+ const Result: FC<any> = React.forwardRef<TComponent, any>((props: any, forwardRef) => {
34
+ const Custom = useCustom(key);
35
+
36
+ if (Custom === null) {
37
+ return null;
38
+ }
39
+
40
+ if (Custom) {
41
+ return <Custom {...props} ref={forwardRef} />;
42
+ }
43
+
44
+ return <Component {...props} ref={forwardRef} />;
45
+ });
46
+
47
+ Component.displayName = Component.displayName || key;
48
+ Result.displayName = 'Customizable.' + Component.displayName;
49
+
50
+ return Object.assign(Result, { key, Component }) as any;
51
+ }
package/src/ui/index.ts CHANGED
@@ -1,11 +1,11 @@
1
- export * from './color';
2
- export * from './customize';
3
- export * from './Chatify';
4
- export * from './localizer';
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
+ import '../styles/index.scss';
2
+
3
+ export * from './color';
4
+ export * from './customize';
5
+ export * from './Chatify';
6
+ export * from './localizer';
7
+ export * from './Chat';
8
+ export * from './ChatGroup';
9
+ export * from './Conversation';
10
+ export * from './Thread';
11
+ export * from './common';
@@ -1,81 +1,108 @@
1
- import dayjs from 'dayjs';
2
- import React, { useContext } from 'react';
3
- import { SystemMessageText } from '../core';
4
-
5
- export interface Localizer {
6
- isToday: (value: string) => boolean;
7
- timestamp: (value: string) => string;
8
- dateTime: (value: string) => string;
9
- system: Record<SystemMessageText, (key: SystemMessageText, payload: any | null) => string>;
10
- message: {
11
- read: () => React.ReactNode;
12
- reading: () => React.ReactNode;
13
- sending: () => React.ReactNode;
14
- };
15
- addChat: {
16
- title: () => React.ReactNode;
17
- name: {
18
- label: () => React.ReactNode;
19
- required: () => string;
20
- max250: () => string;
21
- };
22
- members: {
23
- label: () => React.ReactNode;
24
- required: () => string;
25
- };
26
- submitBtn: () => React.ReactNode;
27
- };
28
-
29
- input: {
30
- placeholder: () => string;
31
- };
32
-
33
- settings: {
34
- members: () => string;
35
- };
36
- }
37
-
38
- export const LocalizerContext = React.createContext<Localizer>(null!);
39
-
40
- export function useLocalizer() {
41
- return useContext(LocalizerContext);
42
- }
43
-
44
- export const defaultLocalizer: Localizer = {
45
- isToday: (value: string) => dayjs(value).isSame(dayjs(), 'day'),
46
- timestamp: (value: string) => dayjs(value).format('HH:mm'),
47
- dateTime: (value: string) => dayjs(value).format('DD/MM/YYYY HH:mm'),
48
- message: {
49
- read: () => 'Read',
50
- reading: () => 'Reading...',
51
- sending: () => 'Sending...',
52
- },
53
- addChat: {
54
- title: () => 'Add chat',
55
- name: {
56
- label: () => 'Name',
57
- required: () => `Name is required`,
58
- max250: () => 'Max 250 characters allowed',
59
- },
60
- members: {
61
- label: () => 'Members',
62
- required: () => 'Members is required',
63
- },
64
- submitBtn: () => 'Submit',
65
- },
66
- system: {
67
- 'chatify://chat-created': () => 'Chat created',
68
- 'chatify://member-added': () => 'New member added',
69
- 'chatify://member-removed': () => 'Member removed',
70
- 'chatify://chat-name-changed': (_, { newName }: { newName: string }) =>
71
- `Chat name changed to '${newName}'`,
72
- },
73
-
74
- input: {
75
- placeholder: () => 'Start typing (Ctrl/⌘Cmd + Enter to send) ...',
76
- },
77
-
78
- settings: {
79
- members: () => 'Members',
80
- },
81
- };
1
+ import dayjs from 'dayjs';
2
+ import React, { useContext } from 'react';
3
+ import { SystemMessageText } from '../core';
4
+
5
+ export interface LocalizerBase {
6
+ isToday: (value: string) => boolean;
7
+ timestamp: (value: string) => string;
8
+ dateTime: (value: string) => string;
9
+ system: Record<SystemMessageText, (key: SystemMessageText, payload: any | null) => string>;
10
+ message: {
11
+ read: () => React.ReactNode;
12
+ reading: () => React.ReactNode;
13
+ sending: () => React.ReactNode;
14
+ };
15
+ addChat: {
16
+ title: () => React.ReactNode;
17
+ name: {
18
+ label: () => React.ReactNode;
19
+ required: () => string;
20
+ max250: () => string;
21
+ };
22
+ members: {
23
+ label: () => React.ReactNode;
24
+ required: () => string;
25
+ };
26
+ submitBtn: () => React.ReactNode;
27
+ };
28
+
29
+ input: {
30
+ placeholder: () => string;
31
+ };
32
+
33
+ settings: {
34
+ members: () => string;
35
+ };
36
+
37
+ size: {
38
+ bytes: (value: number) => string;
39
+ kb: (value: number) => string;
40
+ mb: (value: number) => string;
41
+ };
42
+
43
+ chatList: {
44
+ topShown: (count: number) => string;
45
+ };
46
+ }
47
+
48
+ export interface Localizer extends LocalizerBase {}
49
+
50
+ export const LocalizerContext = React.createContext<Localizer>(null!);
51
+
52
+ export function useLocalizer() {
53
+ return useContext(LocalizerContext);
54
+ }
55
+
56
+ const base: LocalizerBase = {
57
+ isToday: (value: string) => dayjs(value).isSame(dayjs(), 'day'),
58
+ timestamp: (value: string) => dayjs(value).format('HH:mm'),
59
+ dateTime: (value: string) => dayjs(value).format('DD/MM/YYYY HH:mm'),
60
+ message: {
61
+ read: () => 'Read',
62
+ reading: () => 'Reading...',
63
+ sending: () => 'Sending...',
64
+ },
65
+ addChat: {
66
+ title: () => 'Add chat',
67
+ name: {
68
+ label: () => 'Name',
69
+ required: () => `Name is required`,
70
+ max250: () => 'Max 250 characters allowed',
71
+ },
72
+ members: {
73
+ label: () => 'Members',
74
+ required: () => 'Members is required',
75
+ },
76
+ submitBtn: () => 'Submit',
77
+ },
78
+ system: {
79
+ 'chatify://chat-created': () => 'Chat created',
80
+ 'chatify://member-added': () => 'New member added',
81
+ 'chatify://member-removed': () => 'Member removed',
82
+ 'chatify://chat-name-changed': (_, { newName }: { newName: string }) =>
83
+ `Chat name changed to '${newName}'`,
84
+ },
85
+
86
+ input: {
87
+ placeholder: () => 'Start typing... (Press Enter to send, and Shift+Enter to start a new line)',
88
+ },
89
+
90
+ settings: {
91
+ members: () => 'Members',
92
+ },
93
+
94
+ size: {
95
+ bytes: (value: number) =>
96
+ `${value.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 })} bytes`,
97
+ kb: (value: number) =>
98
+ `${value.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 })} KB`,
99
+ mb: (value: number) =>
100
+ `${value.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 })} MB`,
101
+ },
102
+
103
+ chatList: {
104
+ topShown: (count: number) => `Latest active ${count} chat${count !== 1 ? 's' : ''} shown`,
105
+ },
106
+ };
107
+
108
+ export const defaultLocalizer: Localizer = base as unknown as Localizer;
@@ -0,0 +1,17 @@
1
+ import { useLocalizer } from './localizer';
2
+
3
+ export function useFormatter() {
4
+ const localizer = useLocalizer();
5
+
6
+ return {
7
+ size: (value: number) => {
8
+ if (value < 1024) {
9
+ return localizer.size.bytes(value);
10
+ } else if (value < 1024 * 1024) {
11
+ return localizer.size.kb(value / 1024);
12
+ } else {
13
+ return localizer.size.mb(value / 1024 / 1024);
14
+ }
15
+ },
16
+ };
17
+ }