@replyke/core 7.0.0-beta.100 → 7.0.0-beta.103

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 (257) hide show
  1. package/dist/cjs/config/axios.d.ts +1 -0
  2. package/dist/cjs/config/axios.js +4 -4
  3. package/dist/cjs/config/axios.js.map +1 -1
  4. package/dist/cjs/context/chat-context.d.ts +17 -0
  5. package/dist/cjs/context/chat-context.js +299 -0
  6. package/dist/cjs/context/chat-context.js.map +1 -0
  7. package/dist/cjs/context/conversation-context.d.ts +14 -0
  8. package/dist/cjs/context/conversation-context.js +231 -0
  9. package/dist/cjs/context/conversation-context.js.map +1 -0
  10. package/dist/cjs/context/index.d.ts +3 -0
  11. package/dist/cjs/context/index.js +13 -1
  12. package/dist/cjs/context/index.js.map +1 -1
  13. package/dist/cjs/context/message-thread-context.d.ts +13 -0
  14. package/dist/cjs/context/message-thread-context.js +32 -0
  15. package/dist/cjs/context/message-thread-context.js.map +1 -0
  16. package/dist/cjs/hooks/chat/conversations/index.d.ts +10 -0
  17. package/dist/cjs/hooks/chat/conversations/index.js +17 -0
  18. package/dist/cjs/hooks/chat/conversations/index.js.map +1 -0
  19. package/dist/cjs/hooks/chat/conversations/useConversation.d.ts +18 -0
  20. package/dist/cjs/hooks/chat/conversations/useConversation.js +134 -0
  21. package/dist/cjs/hooks/chat/conversations/useConversation.js.map +1 -0
  22. package/dist/cjs/hooks/chat/conversations/useConversationMembers.d.ts +18 -0
  23. package/dist/cjs/hooks/chat/conversations/useConversationMembers.js +219 -0
  24. package/dist/cjs/hooks/chat/conversations/useConversationMembers.js.map +1 -0
  25. package/dist/cjs/hooks/chat/conversations/useConversations.d.ts +17 -0
  26. package/dist/cjs/hooks/chat/conversations/useConversations.js +193 -0
  27. package/dist/cjs/hooks/chat/conversations/useConversations.js.map +1 -0
  28. package/dist/cjs/hooks/chat/conversations/useCreateDirectConversation.d.ts +6 -0
  29. package/dist/cjs/hooks/chat/conversations/useCreateDirectConversation.js +83 -0
  30. package/dist/cjs/hooks/chat/conversations/useCreateDirectConversation.js.map +1 -0
  31. package/dist/cjs/hooks/chat/conversations/useSpaceConversation.d.ts +10 -0
  32. package/dist/cjs/hooks/chat/conversations/useSpaceConversation.js +91 -0
  33. package/dist/cjs/hooks/chat/conversations/useSpaceConversation.js.map +1 -0
  34. package/dist/cjs/hooks/chat/index.d.ts +15 -0
  35. package/dist/cjs/hooks/chat/index.js +36 -0
  36. package/dist/cjs/hooks/chat/index.js.map +1 -0
  37. package/dist/cjs/hooks/chat/messages/index.d.ts +12 -0
  38. package/dist/cjs/hooks/chat/messages/index.js +19 -0
  39. package/dist/cjs/hooks/chat/messages/index.js.map +1 -0
  40. package/dist/cjs/hooks/chat/messages/useChatMessages.d.ts +15 -0
  41. package/dist/cjs/hooks/chat/messages/useChatMessages.js +228 -0
  42. package/dist/cjs/hooks/chat/messages/useChatMessages.js.map +1 -0
  43. package/dist/cjs/hooks/chat/messages/useDeleteMessage.d.ts +6 -0
  44. package/dist/cjs/hooks/chat/messages/useDeleteMessage.js +81 -0
  45. package/dist/cjs/hooks/chat/messages/useDeleteMessage.js.map +1 -0
  46. package/dist/cjs/hooks/chat/messages/useEditMessage.d.ts +13 -0
  47. package/dist/cjs/hooks/chat/messages/useEditMessage.js +81 -0
  48. package/dist/cjs/hooks/chat/messages/useEditMessage.js.map +1 -0
  49. package/dist/cjs/hooks/chat/messages/useMessageThread.d.ts +15 -0
  50. package/dist/cjs/hooks/chat/messages/useMessageThread.js +38 -0
  51. package/dist/cjs/hooks/chat/messages/useMessageThread.js.map +1 -0
  52. package/dist/cjs/hooks/chat/messages/useSendMessage.d.ts +17 -0
  53. package/dist/cjs/hooks/chat/messages/useSendMessage.js +156 -0
  54. package/dist/cjs/hooks/chat/messages/useSendMessage.js.map +1 -0
  55. package/dist/cjs/hooks/chat/messages/useToggleReaction.d.ts +11 -0
  56. package/dist/cjs/hooks/chat/messages/useToggleReaction.js +95 -0
  57. package/dist/cjs/hooks/chat/messages/useToggleReaction.js.map +1 -0
  58. package/dist/cjs/hooks/chat/useChatSocket.d.ts +11 -0
  59. package/dist/cjs/hooks/chat/useChatSocket.js +13 -0
  60. package/dist/cjs/hooks/chat/useChatSocket.js.map +1 -0
  61. package/dist/cjs/hooks/chat/useConversationData.d.ts +31 -0
  62. package/dist/cjs/hooks/chat/useConversationData.js +47 -0
  63. package/dist/cjs/hooks/chat/useConversationData.js.map +1 -0
  64. package/dist/cjs/hooks/chat/useMarkConversationAsRead.d.ts +10 -0
  65. package/dist/cjs/hooks/chat/useMarkConversationAsRead.js +87 -0
  66. package/dist/cjs/hooks/chat/useMarkConversationAsRead.js.map +1 -0
  67. package/dist/cjs/hooks/chat/useReportMessage.d.ts +8 -0
  68. package/dist/cjs/hooks/chat/useReportMessage.js +76 -0
  69. package/dist/cjs/hooks/chat/useReportMessage.js.map +1 -0
  70. package/dist/cjs/hooks/chat/useTotalUnreadCount.d.ts +6 -0
  71. package/dist/cjs/hooks/chat/useTotalUnreadCount.js +14 -0
  72. package/dist/cjs/hooks/chat/useTotalUnreadCount.js.map +1 -0
  73. package/dist/cjs/hooks/chat/useTypingIndicator.d.ts +21 -0
  74. package/dist/cjs/hooks/chat/useTypingIndicator.js +68 -0
  75. package/dist/cjs/hooks/chat/useTypingIndicator.js.map +1 -0
  76. package/dist/cjs/hooks/comments/index.d.ts +1 -1
  77. package/dist/cjs/hooks/comments/index.js.map +1 -1
  78. package/dist/cjs/hooks/comments/useCommentSectionData.d.ts +7 -0
  79. package/dist/cjs/hooks/comments/useCommentSectionData.js +62 -38
  80. package/dist/cjs/hooks/comments/useCommentSectionData.js.map +1 -1
  81. package/dist/cjs/hooks/spaces/index.d.ts +4 -0
  82. package/dist/cjs/hooks/spaces/index.js +6 -1
  83. package/dist/cjs/hooks/spaces/index.js.map +1 -1
  84. package/dist/cjs/hooks/spaces/useSpaceMentions.d.ts +24 -0
  85. package/dist/cjs/hooks/spaces/useSpaceMentions.js +191 -0
  86. package/dist/cjs/hooks/spaces/useSpaceMentions.js.map +1 -0
  87. package/dist/cjs/hooks/spaces/useUnbanMember.d.ts +11 -0
  88. package/dist/cjs/hooks/spaces/useUnbanMember.js +71 -0
  89. package/dist/cjs/hooks/spaces/useUnbanMember.js.map +1 -0
  90. package/dist/cjs/hooks/users/index.d.ts +1 -1
  91. package/dist/cjs/hooks/users/index.js +3 -3
  92. package/dist/cjs/hooks/users/index.js.map +1 -1
  93. package/dist/cjs/hooks/users/{useMentions.d.ts → useUserMentions.d.ts} +8 -4
  94. package/dist/cjs/hooks/users/{useMentions.js → useUserMentions.js} +22 -17
  95. package/dist/cjs/hooks/users/useUserMentions.js.map +1 -0
  96. package/dist/cjs/index.d.ts +11 -5
  97. package/dist/cjs/index.js +70 -5
  98. package/dist/cjs/index.js.map +1 -1
  99. package/dist/cjs/interfaces/models/File.d.ts +1 -0
  100. package/dist/cjs/interfaces/models/IChatMessage.d.ts +34 -0
  101. package/dist/cjs/interfaces/models/IChatMessage.js +3 -0
  102. package/dist/cjs/interfaces/models/IChatMessage.js.map +1 -0
  103. package/dist/cjs/interfaces/models/IConversation.d.ts +25 -0
  104. package/dist/cjs/interfaces/models/IConversation.js +3 -0
  105. package/dist/cjs/interfaces/models/IConversation.js.map +1 -0
  106. package/dist/cjs/interfaces/models/IConversationMember.d.ts +16 -0
  107. package/dist/cjs/interfaces/models/IConversationMember.js +3 -0
  108. package/dist/cjs/interfaces/models/IConversationMember.js.map +1 -0
  109. package/dist/cjs/interfaces/models/Mention.d.ts +8 -1
  110. package/dist/cjs/store/api/spacesApi.d.ts +364 -0
  111. package/dist/cjs/store/api/spacesApi.js +20 -3
  112. package/dist/cjs/store/api/spacesApi.js.map +1 -1
  113. package/dist/cjs/store/hooks.d.ts +1 -0
  114. package/dist/cjs/store/index.d.ts +2 -0
  115. package/dist/cjs/store/replykeReducers.d.ts +2 -0
  116. package/dist/cjs/store/replykeReducers.js +2 -0
  117. package/dist/cjs/store/replykeReducers.js.map +1 -1
  118. package/dist/cjs/store/rootReducer.d.ts +3 -0
  119. package/dist/cjs/store/slices/chatSlice.d.ts +120 -0
  120. package/dist/cjs/store/slices/chatSlice.js +369 -0
  121. package/dist/cjs/store/slices/chatSlice.js.map +1 -0
  122. package/dist/cjs/store/slices/entityListsSlice.d.ts +168 -24
  123. package/dist/cjs/store/slices/spaceListsSlice.d.ts +24 -0
  124. package/dist/cjs/store/slices/userSlice.d.ts +16 -0
  125. package/dist/cjs/types/socket.d.ts +73 -0
  126. package/dist/cjs/types/socket.js +3 -0
  127. package/dist/cjs/types/socket.js.map +1 -0
  128. package/dist/esm/config/axios.d.ts +1 -0
  129. package/dist/esm/config/axios.js +1 -1
  130. package/dist/esm/config/axios.js.map +1 -1
  131. package/dist/esm/context/chat-context.d.ts +17 -0
  132. package/dist/esm/context/chat-context.js +291 -0
  133. package/dist/esm/context/chat-context.js.map +1 -0
  134. package/dist/esm/context/conversation-context.d.ts +14 -0
  135. package/dist/esm/context/conversation-context.js +223 -0
  136. package/dist/esm/context/conversation-context.js.map +1 -0
  137. package/dist/esm/context/index.d.ts +3 -0
  138. package/dist/esm/context/index.js +3 -0
  139. package/dist/esm/context/index.js.map +1 -1
  140. package/dist/esm/context/message-thread-context.d.ts +13 -0
  141. package/dist/esm/context/message-thread-context.js +24 -0
  142. package/dist/esm/context/message-thread-context.js.map +1 -0
  143. package/dist/esm/hooks/chat/conversations/index.d.ts +10 -0
  144. package/dist/esm/hooks/chat/conversations/index.js +6 -0
  145. package/dist/esm/hooks/chat/conversations/index.js.map +1 -0
  146. package/dist/esm/hooks/chat/conversations/useConversation.d.ts +18 -0
  147. package/dist/esm/hooks/chat/conversations/useConversation.js +129 -0
  148. package/dist/esm/hooks/chat/conversations/useConversation.js.map +1 -0
  149. package/dist/esm/hooks/chat/conversations/useConversationMembers.d.ts +18 -0
  150. package/dist/esm/hooks/chat/conversations/useConversationMembers.js +214 -0
  151. package/dist/esm/hooks/chat/conversations/useConversationMembers.js.map +1 -0
  152. package/dist/esm/hooks/chat/conversations/useConversations.d.ts +17 -0
  153. package/dist/esm/hooks/chat/conversations/useConversations.js +188 -0
  154. package/dist/esm/hooks/chat/conversations/useConversations.js.map +1 -0
  155. package/dist/esm/hooks/chat/conversations/useCreateDirectConversation.d.ts +6 -0
  156. package/dist/esm/hooks/chat/conversations/useCreateDirectConversation.js +78 -0
  157. package/dist/esm/hooks/chat/conversations/useCreateDirectConversation.js.map +1 -0
  158. package/dist/esm/hooks/chat/conversations/useSpaceConversation.d.ts +10 -0
  159. package/dist/esm/hooks/chat/conversations/useSpaceConversation.js +86 -0
  160. package/dist/esm/hooks/chat/conversations/useSpaceConversation.js.map +1 -0
  161. package/dist/esm/hooks/chat/index.d.ts +15 -0
  162. package/dist/esm/hooks/chat/index.js +13 -0
  163. package/dist/esm/hooks/chat/index.js.map +1 -0
  164. package/dist/esm/hooks/chat/messages/index.d.ts +12 -0
  165. package/dist/esm/hooks/chat/messages/index.js +7 -0
  166. package/dist/esm/hooks/chat/messages/index.js.map +1 -0
  167. package/dist/esm/hooks/chat/messages/useChatMessages.d.ts +15 -0
  168. package/dist/esm/hooks/chat/messages/useChatMessages.js +223 -0
  169. package/dist/esm/hooks/chat/messages/useChatMessages.js.map +1 -0
  170. package/dist/esm/hooks/chat/messages/useDeleteMessage.d.ts +6 -0
  171. package/dist/esm/hooks/chat/messages/useDeleteMessage.js +76 -0
  172. package/dist/esm/hooks/chat/messages/useDeleteMessage.js.map +1 -0
  173. package/dist/esm/hooks/chat/messages/useEditMessage.d.ts +13 -0
  174. package/dist/esm/hooks/chat/messages/useEditMessage.js +76 -0
  175. package/dist/esm/hooks/chat/messages/useEditMessage.js.map +1 -0
  176. package/dist/esm/hooks/chat/messages/useMessageThread.d.ts +15 -0
  177. package/dist/esm/hooks/chat/messages/useMessageThread.js +33 -0
  178. package/dist/esm/hooks/chat/messages/useMessageThread.js.map +1 -0
  179. package/dist/esm/hooks/chat/messages/useSendMessage.d.ts +17 -0
  180. package/dist/esm/hooks/chat/messages/useSendMessage.js +151 -0
  181. package/dist/esm/hooks/chat/messages/useSendMessage.js.map +1 -0
  182. package/dist/esm/hooks/chat/messages/useToggleReaction.d.ts +11 -0
  183. package/dist/esm/hooks/chat/messages/useToggleReaction.js +90 -0
  184. package/dist/esm/hooks/chat/messages/useToggleReaction.js.map +1 -0
  185. package/dist/esm/hooks/chat/useChatSocket.d.ts +11 -0
  186. package/dist/esm/hooks/chat/useChatSocket.js +11 -0
  187. package/dist/esm/hooks/chat/useChatSocket.js.map +1 -0
  188. package/dist/esm/hooks/chat/useConversationData.d.ts +31 -0
  189. package/dist/esm/hooks/chat/useConversationData.js +42 -0
  190. package/dist/esm/hooks/chat/useConversationData.js.map +1 -0
  191. package/dist/esm/hooks/chat/useMarkConversationAsRead.d.ts +10 -0
  192. package/dist/esm/hooks/chat/useMarkConversationAsRead.js +82 -0
  193. package/dist/esm/hooks/chat/useMarkConversationAsRead.js.map +1 -0
  194. package/dist/esm/hooks/chat/useReportMessage.d.ts +8 -0
  195. package/dist/esm/hooks/chat/useReportMessage.js +71 -0
  196. package/dist/esm/hooks/chat/useReportMessage.js.map +1 -0
  197. package/dist/esm/hooks/chat/useTotalUnreadCount.d.ts +6 -0
  198. package/dist/esm/hooks/chat/useTotalUnreadCount.js +12 -0
  199. package/dist/esm/hooks/chat/useTotalUnreadCount.js.map +1 -0
  200. package/dist/esm/hooks/chat/useTypingIndicator.d.ts +21 -0
  201. package/dist/esm/hooks/chat/useTypingIndicator.js +66 -0
  202. package/dist/esm/hooks/chat/useTypingIndicator.js.map +1 -0
  203. package/dist/esm/hooks/comments/index.d.ts +1 -1
  204. package/dist/esm/hooks/comments/index.js.map +1 -1
  205. package/dist/esm/hooks/comments/useCommentSectionData.d.ts +7 -0
  206. package/dist/esm/hooks/comments/useCommentSectionData.js +62 -38
  207. package/dist/esm/hooks/comments/useCommentSectionData.js.map +1 -1
  208. package/dist/esm/hooks/spaces/index.d.ts +4 -0
  209. package/dist/esm/hooks/spaces/index.js +3 -0
  210. package/dist/esm/hooks/spaces/index.js.map +1 -1
  211. package/dist/esm/hooks/spaces/useSpaceMentions.d.ts +24 -0
  212. package/dist/esm/hooks/spaces/useSpaceMentions.js +186 -0
  213. package/dist/esm/hooks/spaces/useSpaceMentions.js.map +1 -0
  214. package/dist/esm/hooks/spaces/useUnbanMember.d.ts +11 -0
  215. package/dist/esm/hooks/spaces/useUnbanMember.js +66 -0
  216. package/dist/esm/hooks/spaces/useUnbanMember.js.map +1 -0
  217. package/dist/esm/hooks/users/index.d.ts +1 -1
  218. package/dist/esm/hooks/users/index.js +1 -1
  219. package/dist/esm/hooks/users/index.js.map +1 -1
  220. package/dist/esm/hooks/users/{useMentions.d.ts → useUserMentions.d.ts} +8 -4
  221. package/dist/esm/hooks/users/{useMentions.js → useUserMentions.js} +22 -17
  222. package/dist/esm/hooks/users/useUserMentions.js.map +1 -0
  223. package/dist/esm/index.d.ts +11 -5
  224. package/dist/esm/index.js +7 -3
  225. package/dist/esm/index.js.map +1 -1
  226. package/dist/esm/interfaces/models/File.d.ts +1 -0
  227. package/dist/esm/interfaces/models/IChatMessage.d.ts +34 -0
  228. package/dist/esm/interfaces/models/IChatMessage.js +2 -0
  229. package/dist/esm/interfaces/models/IChatMessage.js.map +1 -0
  230. package/dist/esm/interfaces/models/IConversation.d.ts +25 -0
  231. package/dist/esm/interfaces/models/IConversation.js +2 -0
  232. package/dist/esm/interfaces/models/IConversation.js.map +1 -0
  233. package/dist/esm/interfaces/models/IConversationMember.d.ts +16 -0
  234. package/dist/esm/interfaces/models/IConversationMember.js +2 -0
  235. package/dist/esm/interfaces/models/IConversationMember.js.map +1 -0
  236. package/dist/esm/interfaces/models/Mention.d.ts +8 -1
  237. package/dist/esm/store/api/spacesApi.d.ts +364 -0
  238. package/dist/esm/store/api/spacesApi.js +19 -2
  239. package/dist/esm/store/api/spacesApi.js.map +1 -1
  240. package/dist/esm/store/hooks.d.ts +1 -0
  241. package/dist/esm/store/index.d.ts +2 -0
  242. package/dist/esm/store/replykeReducers.d.ts +2 -0
  243. package/dist/esm/store/replykeReducers.js +2 -0
  244. package/dist/esm/store/replykeReducers.js.map +1 -1
  245. package/dist/esm/store/rootReducer.d.ts +3 -0
  246. package/dist/esm/store/slices/chatSlice.d.ts +120 -0
  247. package/dist/esm/store/slices/chatSlice.js +350 -0
  248. package/dist/esm/store/slices/chatSlice.js.map +1 -0
  249. package/dist/esm/store/slices/entityListsSlice.d.ts +168 -24
  250. package/dist/esm/store/slices/spaceListsSlice.d.ts +24 -0
  251. package/dist/esm/store/slices/userSlice.d.ts +16 -0
  252. package/dist/esm/types/socket.d.ts +73 -0
  253. package/dist/esm/types/socket.js +2 -0
  254. package/dist/esm/types/socket.js.map +1 -0
  255. package/package.json +3 -2
  256. package/dist/cjs/hooks/users/useMentions.js.map +0 -1
  257. package/dist/esm/hooks/users/useMentions.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
46
+ import { useState, useEffect, useCallback, useRef } from "react";
47
+ import useFetchManySpaces from "./useFetchManySpaces";
48
+ import { handleError } from "../../utils/handleError";
49
+ function escapeRegex(str) {
50
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
51
+ }
52
+ var useSpaceMentions = function (_a) {
53
+ var content = _a.content, setContent = _a.setContent, focus = _a.focus, cursorPosition = _a.cursorPosition, isSelectionActive = _a.isSelectionActive, _b = _a.trigger, trigger = _b === void 0 ? "#" : _b, _c = _a.minChars, minChars = _c === void 0 ? 3 : _c, _d = _a.debounceDelay, debounceDelay = _d === void 0 ? 1000 : _d, _e = _a.validPattern, validPattern = _e === void 0 ? "[\\w.\\-]+" : _e;
54
+ var fetchManySpaces = useFetchManySpaces();
55
+ var _f = useState(false), loadingState = _f[0], setLoadingState = _f[1];
56
+ var _g = useState([]), mentions = _g[0], setMentions = _g[1];
57
+ var _h = useState(false), isSpaceMentionActive = _h[0], setIsSpaceMentionActive = _h[1];
58
+ var _j = useState(""), mentionTrigger = _j[0], setMentionTrigger = _j[1];
59
+ var _k = useState([]), spaceMentionSuggestions = _k[0], setSpaceMentionSuggestions = _k[1];
60
+ var debounceTimerRef = useRef(null);
61
+ var resetSpaceMentions = function () {
62
+ setMentions([]);
63
+ setIsSpaceMentionActive(false);
64
+ setMentionTrigger("");
65
+ setSpaceMentionSuggestions([]);
66
+ setLoadingState(false);
67
+ };
68
+ var addSpaceMention = function (space) {
69
+ if (!space.slug)
70
+ throw new Error("Space has no slug set");
71
+ setMentions(function (prevMentions) {
72
+ if (prevMentions.some(function (mention) { return mention.id === space.id; })) {
73
+ return prevMentions;
74
+ }
75
+ return __spreadArray(__spreadArray([], prevMentions, true), [
76
+ {
77
+ id: space.id,
78
+ slug: space.slug,
79
+ type: "space",
80
+ },
81
+ ], false);
82
+ });
83
+ };
84
+ var handleSpaceMentionClick = function (space) {
85
+ var mentionRegex = new RegExp("".concat(escapeRegex(trigger)).concat(escapeRegex(mentionTrigger), "(\\s|$)"));
86
+ setContent(content.replace(mentionRegex, "".concat(trigger).concat(space.slug, " ")));
87
+ addSpaceMention(space);
88
+ setIsSpaceMentionActive(false);
89
+ setMentionTrigger("");
90
+ setSpaceMentionSuggestions([]);
91
+ setLoadingState(false);
92
+ focus();
93
+ };
94
+ var handleFetchSpaceSuggestions = useCallback(function (query) { return __awaiter(void 0, void 0, void 0, function () {
95
+ var result, err_1;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ _a.trys.push([0, 2, 3, 4]);
100
+ return [4 /*yield*/, fetchManySpaces({
101
+ searchAny: query,
102
+ limit: 5,
103
+ })];
104
+ case 1:
105
+ result = _a.sent();
106
+ if (result.data && result.data.length > 0) {
107
+ setSpaceMentionSuggestions(result.data);
108
+ }
109
+ else {
110
+ setSpaceMentionSuggestions([]);
111
+ setIsSpaceMentionActive(false);
112
+ }
113
+ return [3 /*break*/, 4];
114
+ case 2:
115
+ err_1 = _a.sent();
116
+ handleError(err_1, "Error fetching space suggestions");
117
+ return [3 /*break*/, 4];
118
+ case 3:
119
+ setLoadingState(false);
120
+ return [7 /*endfinally*/];
121
+ case 4: return [2 /*return*/];
122
+ }
123
+ });
124
+ }); }, [fetchManySpaces]);
125
+ useEffect(function () {
126
+ var start = cursorPosition - 1;
127
+ // Move backward from cursor to find the word directly before the cursor
128
+ while (start >= 0 && content[start] !== " ") {
129
+ start--;
130
+ }
131
+ // Extract potential trigger word (start + 1 because `start` is on the space)
132
+ var potentialTrigger = content.slice(start + 1, cursorPosition);
133
+ var validMentionPattern = new RegExp("^" + escapeRegex(trigger) + validPattern + "$");
134
+ if (!isSelectionActive &&
135
+ validMentionPattern.test(potentialTrigger) &&
136
+ potentialTrigger.length >= trigger.length + minChars) {
137
+ var triggerText_1 = potentialTrigger.slice(trigger.length);
138
+ setMentionTrigger(triggerText_1);
139
+ setIsSpaceMentionActive(true);
140
+ setLoadingState(true);
141
+ // Clear the previous debounce timer
142
+ if (debounceTimerRef.current) {
143
+ clearTimeout(debounceTimerRef.current);
144
+ }
145
+ // Set a new debounce timer
146
+ debounceTimerRef.current = setTimeout(function () {
147
+ handleFetchSpaceSuggestions(triggerText_1);
148
+ }, debounceDelay);
149
+ }
150
+ else {
151
+ if (debounceTimerRef.current) {
152
+ clearTimeout(debounceTimerRef.current);
153
+ }
154
+ setMentionTrigger("");
155
+ setIsSpaceMentionActive(false);
156
+ setSpaceMentionSuggestions([]);
157
+ setLoadingState(false);
158
+ }
159
+ // Cleanup on component unmount to clear any remaining timer
160
+ return function () {
161
+ if (debounceTimerRef.current) {
162
+ clearTimeout(debounceTimerRef.current);
163
+ }
164
+ };
165
+ }, [
166
+ cursorPosition,
167
+ isSelectionActive,
168
+ handleFetchSpaceSuggestions,
169
+ content,
170
+ trigger,
171
+ minChars,
172
+ debounceDelay,
173
+ validPattern,
174
+ ]);
175
+ return {
176
+ isSpaceMentionActive: isSpaceMentionActive,
177
+ loading: loadingState,
178
+ spaceMentionSuggestions: spaceMentionSuggestions,
179
+ handleSpaceMentionClick: handleSpaceMentionClick,
180
+ mentions: mentions,
181
+ addSpaceMention: addSpaceMention,
182
+ resetSpaceMentions: resetSpaceMentions,
183
+ };
184
+ };
185
+ export default useSpaceMentions;
186
+ //# sourceMappingURL=useSpaceMentions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpaceMentions.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/useSpaceMentions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { SpaceMember } from "../../interfaces/models/SpaceMember";
2
+ export interface UnbanMemberProps {
3
+ spaceId: string;
4
+ memberId: string;
5
+ }
6
+ interface UnbanMemberResponse {
7
+ message: string;
8
+ membership: SpaceMember;
9
+ }
10
+ declare function useUnbanMember(): (props: UnbanMemberProps) => Promise<UnbanMemberResponse>;
11
+ export default useUnbanMember;
@@ -0,0 +1,66 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useCallback } from "react";
38
+ import useProject from "../projects/useProject";
39
+ import useAxiosPrivate from "../../config/useAxiosPrivate";
40
+ function useUnbanMember() {
41
+ var _this = this;
42
+ var projectId = useProject().projectId;
43
+ var axios = useAxiosPrivate();
44
+ var unbanMember = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
45
+ var response;
46
+ var spaceId = _b.spaceId, memberId = _b.memberId;
47
+ return __generator(this, function (_c) {
48
+ switch (_c.label) {
49
+ case 0:
50
+ if (!projectId) {
51
+ throw new Error("No projectId available.");
52
+ }
53
+ if (!spaceId || !memberId) {
54
+ throw new Error("spaceId and memberId are required");
55
+ }
56
+ return [4 /*yield*/, axios.patch("/".concat(projectId, "/spaces/").concat(spaceId, "/members/").concat(memberId, "/unban"))];
57
+ case 1:
58
+ response = _c.sent();
59
+ return [2 /*return*/, response.data];
60
+ }
61
+ });
62
+ }); }, [projectId]);
63
+ return unbanMember;
64
+ }
65
+ export default useUnbanMember;
66
+ //# sourceMappingURL=useUnbanMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnbanMember.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/useUnbanMember.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAa3D,SAAS,cAAc;IAAvB,iBAwBC;IAvBS,IAAA,SAAS,GAAK,UAAU,EAAE,UAAjB,CAAkB;IACnC,IAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,IAAM,WAAW,GAAG,WAAW,CAC7B,gEAAO,EAAuC;;YAArC,OAAO,aAAA,EAAE,QAAQ,cAAA;;;;oBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC;oBAED,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACvD,CAAC;oBAEgB,qBAAM,KAAK,CAAC,KAAK,CAChC,WAAI,SAAS,qBAAW,OAAO,sBAAY,QAAQ,WAAQ,CAC5D,EAAA;;oBAFK,QAAQ,GAAG,SAEhB;oBAED,sBAAO,QAAQ,CAAC,IAA2B,EAAC;;;SAC7C,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -3,4 +3,4 @@ export { default as useFetchUserByForeignId, type FetchUserByForeignIdProps, } f
3
3
  export { default as useFetchUserByUsername, type FetchUserByUsernameProps, } from "./useFetchUserByUsername";
4
4
  export { default as useCheckUsernameAvailability, type CheckUsernameAvailabilityProps, } from "./useCheckUsernameAvailability";
5
5
  export { default as useFetchUserSuggestions, type FetchUserSuggestionsProps, } from "./useFetchUserSuggestions";
6
- export { default as useMentions, type UseMentionsProps, } from "./useMentions";
6
+ export { default as useUserMentions, type UseUserMentionsProps, type UseUserMentionsValues, } from "./useUserMentions";
@@ -3,5 +3,5 @@ export { default as useFetchUserByForeignId, } from "./useFetchUserByForeignId";
3
3
  export { default as useFetchUserByUsername, } from "./useFetchUserByUsername";
4
4
  export { default as useCheckUsernameAvailability, } from "./useCheckUsernameAvailability";
5
5
  export { default as useFetchUserSuggestions, } from "./useFetchUserSuggestions";
6
- export { default as useMentions, } from "./useMentions";
6
+ export { default as useUserMentions, } from "./useUserMentions";
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,YAAY,GAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,IAAI,uBAAuB,GAEnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,OAAO,IAAI,sBAAsB,GAElC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,OAAO,IAAI,4BAA4B,GAExC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,IAAI,uBAAuB,GAEnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,OAAO,IAAI,WAAW,GAEvB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,YAAY,GAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,IAAI,uBAAuB,GAEnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,OAAO,IAAI,sBAAsB,GAElC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,OAAO,IAAI,4BAA4B,GAExC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,IAAI,uBAAuB,GAEnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,OAAO,IAAI,eAAe,GAG3B,MAAM,mBAAmB,CAAC"}
@@ -1,13 +1,17 @@
1
1
  import { User } from "../../interfaces/models/User";
2
2
  import { Mention } from "../../interfaces/models/Mention";
3
- export interface UseMentionsProps {
3
+ export interface UseUserMentionsProps {
4
4
  content: string;
5
5
  setContent: (value: string) => void;
6
6
  focus: () => void;
7
7
  cursorPosition: number;
8
8
  isSelectionActive: boolean;
9
+ trigger?: string;
10
+ minChars?: number;
11
+ debounceDelay?: number;
12
+ validPattern?: string;
9
13
  }
10
- export interface UseMentionsValues {
14
+ export interface UseUserMentionsValues {
11
15
  isMentionActive: boolean;
12
16
  loading: boolean;
13
17
  mentionSuggestions: User[];
@@ -16,5 +20,5 @@ export interface UseMentionsValues {
16
20
  addMention: (user: User) => void;
17
21
  resetMentions: () => void;
18
22
  }
19
- declare const useMentions: ({ content, setContent, focus, cursorPosition, isSelectionActive, }: UseMentionsProps) => UseMentionsValues;
20
- export default useMentions;
23
+ declare const useUserMentions: ({ content, setContent, focus, cursorPosition, isSelectionActive, trigger, minChars, debounceDelay, validPattern, }: UseUserMentionsProps) => UseUserMentionsValues;
24
+ export default useUserMentions;
@@ -46,17 +46,18 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
46
46
  import { useState, useEffect, useCallback, useRef } from "react";
47
47
  import useFetchUserSuggestions from "./useFetchUserSuggestions";
48
48
  import { handleError } from "../../utils/handleError";
49
- var useMentions = function (_a) {
50
- var content = _a.content, setContent = _a.setContent, focus = _a.focus, cursorPosition = _a.cursorPosition, isSelectionActive = _a.isSelectionActive;
49
+ function escapeRegex(str) {
50
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
51
+ }
52
+ var useUserMentions = function (_a) {
53
+ var content = _a.content, setContent = _a.setContent, focus = _a.focus, cursorPosition = _a.cursorPosition, isSelectionActive = _a.isSelectionActive, _b = _a.trigger, trigger = _b === void 0 ? "@" : _b, _c = _a.minChars, minChars = _c === void 0 ? 3 : _c, _d = _a.debounceDelay, debounceDelay = _d === void 0 ? 1000 : _d, _e = _a.validPattern, validPattern = _e === void 0 ? "[\\w.]+" : _e;
51
54
  var fetchMentionSuggestions = useFetchUserSuggestions();
52
- // const loading = useRef(false);
53
- var _b = useState(false), loadingState = _b[0], setLoadingState = _b[1];
54
- var _c = useState([]), mentions = _c[0], setMentions = _c[1];
55
- var _d = useState(false), isMentionActive = _d[0], setIsMentionActive = _d[1];
56
- var _e = useState(""), mentionTrigger = _e[0], setMentionTrigger = _e[1];
57
- var _f = useState([]), mentionSuggestions = _f[0], setMentionSuggestions = _f[1];
55
+ var _f = useState(false), loadingState = _f[0], setLoadingState = _f[1];
56
+ var _g = useState([]), mentions = _g[0], setMentions = _g[1];
57
+ var _h = useState(false), isMentionActive = _h[0], setIsMentionActive = _h[1];
58
+ var _j = useState(""), mentionTrigger = _j[0], setMentionTrigger = _j[1];
59
+ var _k = useState([]), mentionSuggestions = _k[0], setMentionSuggestions = _k[1];
58
60
  var debounceTimerRef = useRef(null);
59
- var debounceDelay = 1000;
60
61
  var resetMentions = function () {
61
62
  setMentions([]);
62
63
  setIsMentionActive(false);
@@ -78,13 +79,14 @@ var useMentions = function (_a) {
78
79
  id: user.id,
79
80
  foreignId: user.foreignId,
80
81
  username: user.username,
82
+ type: "user",
81
83
  },
82
84
  ], false);
83
85
  });
84
86
  };
85
87
  var handleMentionClick = function (user) {
86
- var mentionRegex = new RegExp("@".concat(mentionTrigger, "(\\s|$)"));
87
- setContent(content.replace(mentionRegex, "@".concat(user.username, " ")));
88
+ var mentionRegex = new RegExp("".concat(escapeRegex(trigger)).concat(escapeRegex(mentionTrigger), "(\\s|$)"));
89
+ setContent(content.replace(mentionRegex, "".concat(trigger).concat(user.username, " ")));
88
90
  addMention(user);
89
91
  setIsMentionActive(false);
90
92
  setMentionTrigger("");
@@ -128,12 +130,11 @@ var useMentions = function (_a) {
128
130
  }
129
131
  // Extract potential trigger word (start + 1 because `start` is on the space)
130
132
  var potentialTrigger = content.slice(start + 1, cursorPosition);
131
- // Regex to check if the trigger starts with "@" and contains only valid characters
132
- var validMentionPattern = /^@[\w.]+$/; // \w matches a-z, A-Z, 0-9, and "_"
133
+ var validMentionPattern = new RegExp("^" + escapeRegex(trigger) + validPattern + "$");
133
134
  if (!isSelectionActive &&
134
135
  validMentionPattern.test(potentialTrigger) &&
135
- potentialTrigger.length > 3) {
136
- var triggerText_1 = potentialTrigger.slice(1); // remove "@"
136
+ potentialTrigger.length >= trigger.length + minChars) {
137
+ var triggerText_1 = potentialTrigger.slice(trigger.length);
137
138
  setMentionTrigger(triggerText_1);
138
139
  setIsMentionActive(true);
139
140
  setLoadingState(true);
@@ -166,6 +167,10 @@ var useMentions = function (_a) {
166
167
  isSelectionActive,
167
168
  handleFetchMentionSuggestions,
168
169
  content,
170
+ trigger,
171
+ minChars,
172
+ debounceDelay,
173
+ validPattern,
169
174
  ]);
170
175
  return {
171
176
  isMentionActive: isMentionActive,
@@ -177,5 +182,5 @@ var useMentions = function (_a) {
177
182
  resetMentions: resetMentions,
178
183
  };
179
184
  };
180
- export default useMentions;
181
- //# sourceMappingURL=useMentions.js.map
185
+ export default useUserMentions;
186
+ //# sourceMappingURL=useUserMentions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUserMentions.js","sourceRoot":"","sources":["../../../../src/hooks/users/useUserMentions.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export { default as getPublicFileUrl } from "./helpers/getPublicFileUrl";
6
6
  export { isDevelopment, isProduction, getApiBaseUrl, getEnvVar, } from "./utils/env";
7
7
  export { reportReasons } from "./constants/reportReasons";
8
8
  export type { ReportReasonKey } from "./constants/reportReasons";
9
- export { ReplykeProvider, ReplykeIntegrationProvider, EntityProvider, CommentSectionProvider, SpaceProvider, } from "./context";
9
+ export { ReplykeProvider, ReplykeIntegrationProvider, EntityProvider, CommentSectionProvider, SpaceProvider, ChatProvider, ConversationProvider, MessageThreadProvider, useChatContext, useConversationContext, useMessageThreadContext, type ChatContextValue, type ChatProviderProps, type ConversationContextValue, type ConversationProviderProps, type MessageThreadContextValue, type MessageThreadProviderProps, } from "./context";
10
10
  export { replykeReducers, replykeApiReducer, replykeMiddleware, replykeApi, type ReplykeState, } from "./store/integration";
11
11
  export { useProject, useProjectData } from "./hooks/projects";
12
12
  export { useSignTestingJwt, type SignTestingJwtProps } from "./hooks/crypto";
@@ -23,11 +23,11 @@ export { useAppNotifications, useAppNotificationsActions, type UseAppNotificatio
23
23
  export { useCollections, useCollectionsActions, useIsEntityInCollection, useCollectionEntitiesWrapper, type UseCollectionsProps, type UseCollectionsValues, type CreateCollectionProps, type UpdateCollectionProps, type DeleteCollectionProps, type AddToCollectionProps, type RemoveFromCollectionProps, type UseCollectionEntitiesWrapperProps, type UseCollectionEntitiesWrapperValues, } from "./hooks/collections";
24
24
  export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useFetchManyEntities, useIncrementEntityViews, useFetchManyEntitiesWrapper, useUpdateEntity, useFetchDrafts, usePublishDraft, type CreateEntityProps, type DeleteEntityProps, type FetchEntityProps, type FetchEntityByForeignIdProps, type FetchEntityByShortIdProps, type PublishDraftProps, type UseFetchManyEntitiesWrapperProps, type UseFetchManyEntitiesWrapperValues, } from "./hooks/entities";
25
25
  export { useEntityList, useEntityListActions, type UseEntityListProps, type UseEntityListValues, type EntityListCreateEntityProps, type EntityListDeleteEntityProps, type EntityListFilters, type EntityListSort, type EntityListFetchOptions, } from "./hooks/entity-lists";
26
- export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useCheckMyMembership, useFetchDigestConfig, useUpdateDigestConfig, useCreateRule, useUpdateRule, useDeleteRule, useFetchRule, useFetchManyRules, useReorderRules, type UseSpaceDataProps, type UseSpaceDataValues, type FetchSpaceProps, type FetchSpaceByShortIdProps, type FetchSpaceBySlugProps, type FetchSpaceBreadcrumbProps, type FetchSpaceChildrenProps, type FetchManySpacesProps, type CheckSlugAvailabilityProps, type CreateSpaceProps, type UpdateSpaceProps, type DeleteSpaceProps, type JoinSpaceProps, type LeaveSpaceProps, type FetchSpaceMembersProps, type FetchSpaceTeamProps, type FetchUserSpacesProps, type CheckMyMembershipProps, type UpdateMemberRoleProps, type ApproveMemberProps, type DeclineMemberProps, type RemoveMemberProps, type ModerateSpaceEntityProps, type ModerateSpaceCommentProps, type UseSpacePermissionsProps, type UseSpacePermissionsValues, type FetchDigestConfigProps, type UpdateDigestConfigProps, type CreateRuleProps, type UpdateRuleProps, type DeleteRuleProps, type FetchRuleProps, type FetchManyRulesProps, type ReorderRulesProps, } from "./hooks/spaces";
26
+ export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useSpaceMentions, useCheckMyMembership, useFetchDigestConfig, useUpdateDigestConfig, useCreateRule, useUpdateRule, useDeleteRule, useFetchRule, useFetchManyRules, useReorderRules, type UseSpaceDataProps, type UseSpaceDataValues, type FetchSpaceProps, type FetchSpaceByShortIdProps, type FetchSpaceBySlugProps, type FetchSpaceBreadcrumbProps, type FetchSpaceChildrenProps, type FetchManySpacesProps, type CheckSlugAvailabilityProps, type CreateSpaceProps, type UpdateSpaceProps, type DeleteSpaceProps, type JoinSpaceProps, type LeaveSpaceProps, type FetchSpaceMembersProps, type FetchSpaceTeamProps, type FetchUserSpacesProps, type CheckMyMembershipProps, type UpdateMemberRoleProps, type ApproveMemberProps, type DeclineMemberProps, type RemoveMemberProps, type ModerateSpaceEntityProps, type ModerateSpaceCommentProps, type UseSpacePermissionsProps, type UseSpacePermissionsValues, type UseSpaceMentionsProps, type UseSpaceMentionsValues, type FetchDigestConfigProps, type UpdateDigestConfigProps, type CreateRuleProps, type UpdateRuleProps, type DeleteRuleProps, type FetchRuleProps, type FetchManyRulesProps, type ReorderRulesProps, } from "./hooks/spaces";
27
27
  export { useSpaceList, useSpaceListActions, type UseSpaceListProps, type UseSpaceListValues, type SpaceListCreateSpaceProps, type SpaceListDeleteSpaceProps, type FetchSpacesOptions, type CreateSpaceOptions, type DeleteSpaceOptions, } from "./hooks/space-lists";
28
- export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useDeleteComment, useEntityComments, useFetchManyCommentsWrapper, type CommentSectionCreateCommentProps, type CommentSectionUpdateCommentProps, type CommentSectionDeleteCommentProps, type CreateCommentProps, type FetchManyCommentsProps, type FetchCommentProps, type FetchCommentByForeignIdProps, type UseRepliesProps, type UpdateCommentProps, type DeleteCommentProps, type UseFetchManyCommentsWrapperProps, type UseFetchManyCommentsWrapperValues, } from "./hooks/comments";
28
+ export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useDeleteComment, useEntityComments, useFetchManyCommentsWrapper, type CommentSectionCreateCommentProps, type CommentSectionUpdateCommentProps, type CommentSectionDeleteCommentProps, type CreateCommentProps, type FetchManyCommentsProps, type FetchCommentProps, type FetchCommentByForeignIdProps, type UseRepliesProps, type UpdateCommentProps, type DeleteCommentProps, type UseFetchManyCommentsWrapperProps, type UseFetchManyCommentsWrapperValues, type MentionTriggers, } from "./hooks/comments";
29
29
  export { useFetchEntityReactions, useFetchCommentReactions, useFetchEntityReactionsWrapper, useFetchCommentReactionsWrapper, useAddReaction, useRemoveReaction, useReactionToggle, type UseFetchEntityReactionsWrapperProps, type UseFetchEntityReactionsWrapperValues, type UseFetchCommentReactionsWrapperProps, type UseFetchCommentReactionsWrapperValues, type UseReactionToggleProps, type UseReactionToggleValues, type ToggleReactionProps, type AddReactionProps, type RemoveReactionProps, type FetchEntityReactionsProps, type FetchCommentReactionsProps, } from "./hooks/reactions";
30
- export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, type FetchUserProps, type FetchUserByForeignIdProps, type FetchUserByUsernameProps, type CheckUsernameAvailabilityProps, type FetchUserSuggestionsProps, type UseMentionsProps, } from "./hooks/users";
30
+ export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useUserMentions, type FetchUserProps, type FetchUserByForeignIdProps, type FetchUserByUsernameProps, type CheckUsernameAvailabilityProps, type FetchUserSuggestionsProps, type UseUserMentionsProps, type UseUserMentionsValues, } from "./hooks/users";
31
31
  export { useFetchFollowStatus, useFetchFollowers, useFetchFollowersByUserId, useFetchFollowersCount, useFetchFollowersCountByUserId, useFetchFollowing, useFetchFollowingByUserId, useFetchFollowingCount, useFetchFollowingCountByUserId, useFollowManager, useFollowUser, useUnfollowByFollowId, useUnfollowUserByUserId, type FollowUserProps, type UnfollowByFollowIdProps, type UnfollowUserByUserIdProps, type FetchFollowStatusProps, type FollowStatusResponse, type FollowerWithFollowInfo, type FetchFollowersParams, type FetchFollowersByUserIdParams, type FetchFollowersCountByUserIdProps, type FollowingWithFollowInfo, type FetchFollowingParams, type FetchFollowingByUserIdParams, type FetchFollowingCountByUserIdProps, type UseFollowToggleProps, } from "./hooks/relationships/follows";
32
32
  export { useRequestConnection, useAcceptConnection, useDeclineConnection, useRemoveConnection, useFetchConnections, useFetchConnectionStatus, useRemoveConnectionByUserId, useFetchConnectionsCount, useFetchSentPendingConnections, useFetchReceivedPendingConnections, useFetchConnectionsByUserId, useFetchConnectionsCountByUserId, useConnectionManager, type AcceptConnectionProps, type DeclineConnectionProps, type RemoveConnectionProps, type RemoveConnectionByUserIdProps, type FetchConnectionStatusProps, type FetchConnectionsParams, type FetchConnectionsByUserIdParams, type FetchConnectionsCountByUserIdParams, type FetchSentPendingConnectionsParams, type FetchReceivedPendingConnectionsParams, type UseConnectionManagerProps, type ConnectionData, } from "./hooks/relationships/connections";
33
33
  export { useCreateReport, useFetchModeratedReports, useHandleSpaceEntityReport, useHandleSpaceCommentReport, type UseCreateReportProps, type CreateReportProps, type CreateCommentReportProps, type CreateEntityReportProps, type FetchModeratedReportsParams, type ReportUserReport, type Report, type HandleSpaceEntityReportParams, type HandleReportResponse, type HandleSpaceCommentReportParams, } from "./hooks/reports";
@@ -42,7 +42,7 @@ export type { Entity, EntityInclude, EntityIncludeArray, EntityIncludeParam, } f
42
42
  export type { Collection } from "./interfaces/models/Collection";
43
43
  export type { Comment, GifData, CommentInclude, CommentIncludeArray, CommentIncludeParam, } from "./interfaces/models/Comment";
44
44
  export type { Reaction, ReactionType, ReactionCounts, } from "./interfaces/models/Reaction";
45
- export type { Mention } from "./interfaces/models/Mention";
45
+ export type { Mention, UserMention, SpaceMention, } from "./interfaces/models/Mention";
46
46
  export type { Space, SpaceDetailed, SpacePreview, SpaceMemberPermissions, ReadingPermission, PostingPermission, PaginationMeta, UserSpaceItem, UserSpacesResponse, JoinSpaceResponse, LeaveSpaceResponse, UpdateMemberRoleResponse, ApproveMemberResponse, DeclineMemberResponse, DeleteSpaceResponse, DigestConfig, UpdateDigestConfigProps as UpdateDigestConfigBody, SpaceInclude, SpaceIncludeArray, SpaceIncludeParam, } from "./interfaces/models/Space";
47
47
  export type { SpaceMember, SpaceMemberRole, SpaceMemberStatus, SpaceMemberWithUser, SpaceMembersResponse, SpaceTeamResponse, } from "./interfaces/models/SpaceMember";
48
48
  export type { SpaceListSortByOptions, SpaceListFilters, } from "./interfaces/SpaceListSortByOptions";
@@ -55,3 +55,9 @@ export type { TimeFrame } from "./interfaces/TimeFrame";
55
55
  export type { Connection, EstablishedConnection, PendingConnection, ConnectionsResponse, PendingConnectionsResponse, PendingConnectionListResponse, ConnectionRequestParams, ConnectionActionResponse, ConnectionWithdrawResponse, ConnectionCountResponse, RemoveConnectionByUserIdResponse, ConnectionStatusResponse, ConnectionStatus, } from "./interfaces/models/Connection";
56
56
  export type { Image, ImageVariant, UploadImageOptions, } from "./interfaces/models/Image";
57
57
  export type { File } from "./interfaces/models/File";
58
+ export { useConversations, useConversation, useCreateDirectConversation, useSpaceConversation, useConversationMembers, useChatMessages, useSendMessage, useEditMessage, useDeleteMessage, useToggleReaction, useMessageThread, useTotalUnreadCount, useMarkConversationAsRead, useReportMessage, useConversationData, useTypingIndicator, useChatSocket, } from "./hooks/chat";
59
+ export type { UseConversationsProps, UseConversationsValues, UseConversationProps, UseConversationValues, UpdateConversationParams, CreateDirectConversationProps, UseSpaceConversationProps, UseSpaceConversationValues, UseConversationMembersProps, UseConversationMembersValues, UseChatMessagesProps, UseChatMessagesValues, SendMessageParams, UseSendMessageProps, EditMessageParams, DeleteMessageParams, ToggleReactionParams, ToggleReactionResult, UseMessageThreadProps, UseMessageThreadValues, UseMarkConversationAsReadProps, ReportMessageParams, UseConversationDataProps, UseConversationDataValues, UseTypingIndicatorProps, UseTypingIndicatorValues, UseChatSocketValues, } from "./hooks/chat";
60
+ export type { IConversation, IConversationPreview, } from "./interfaces/models/IConversation";
61
+ export type { IConversationMember, ConversationMemberRole, } from "./interfaces/models/IConversationMember";
62
+ export type { IChatMessage } from "./interfaces/models/IChatMessage";
63
+ export { setConversation, setConversationLoading, setConversationList, setConversationListLoading, setConversationListHasMore, setConversationListCursor, upsertConversationPreview, incrementUnread, clearUnread, setMessagesLoading, setMessagesHasMore, upsertMessage, addOptimisticMessage, failOptimisticMessage, removeMessage, updateReactions, setThreadReplies, setThreadLoading, setTypingUsers, setSocketConnected, selectConversation, selectConversationLoading, selectConversationList, selectConversationListLoading, selectConversationListHasMore, selectConversationListCursor, selectMessages, selectMessagesLoading, selectMessagesHasMore, selectOldestMessageId, selectNewestMessageId, selectThreadReplies, selectThreadLoading, selectThreadHasMore, selectTypingUsers, selectSocketConnected, type ChatState, } from "./store/slices/chatSlice";
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ export { isDevelopment, isProduction, getApiBaseUrl, getEnvVar, } from "./utils/
8
8
  // Constants
9
9
  export { reportReasons } from "./constants/reportReasons";
10
10
  // Context providers (Redux-powered by default)
11
- export { ReplykeProvider, ReplykeIntegrationProvider, EntityProvider, CommentSectionProvider, SpaceProvider, } from "./context";
11
+ export { ReplykeProvider, ReplykeIntegrationProvider, EntityProvider, CommentSectionProvider, SpaceProvider, ChatProvider, ConversationProvider, MessageThreadProvider, useChatContext, useConversationContext, useMessageThreadContext, } from "./context";
12
12
  // Integration mode exports (for users with their own Redux store)
13
13
  export { replykeReducers, replykeApiReducer, replykeMiddleware, replykeApi, } from "./store/integration";
14
14
  // -- projects
@@ -37,7 +37,7 @@ export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useFetchEnt
37
37
  // -- entity lists
38
38
  export { useEntityList, useEntityListActions, } from "./hooks/entity-lists";
39
39
  // -- spaces
40
- export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useCheckMyMembership,
40
+ export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useSpaceMentions, useCheckMyMembership,
41
41
  // Digest config hooks
42
42
  useFetchDigestConfig, useUpdateDigestConfig,
43
43
  // Rule hooks
@@ -49,7 +49,7 @@ export { useCommentSection, useCommentSectionData, useCreateComment, useFetchMan
49
49
  // -- reactions
50
50
  export { useFetchEntityReactions, useFetchCommentReactions, useFetchEntityReactionsWrapper, useFetchCommentReactionsWrapper, useAddReaction, useRemoveReaction, useReactionToggle, } from "./hooks/reactions";
51
51
  // -- users
52
- export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, } from "./hooks/users";
52
+ export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useUserMentions, } from "./hooks/users";
53
53
  // -- follows
54
54
  export { useFetchFollowStatus, useFetchFollowers, useFetchFollowersByUserId, useFetchFollowersCount, useFetchFollowersCountByUserId, useFetchFollowing, useFetchFollowingByUserId, useFetchFollowingCount, useFetchFollowingCountByUserId, useFollowManager, useFollowUser, useUnfollowByFollowId, useUnfollowUserByUserId, } from "./hooks/relationships/follows";
55
55
  // -- connections
@@ -62,4 +62,8 @@ export { useGetMetadata } from "./hooks/utils";
62
62
  export { useUploadFile, useUploadImage, } from "./hooks/storage";
63
63
  export * as AppNotification from "./interfaces/models/AppNotification";
64
64
  export { validateSortBy, validateMetadataPropertyName, validateSortType, } from "./interfaces/EntityListSortByOptions";
65
+ // -- chat hooks
66
+ export { useConversations, useConversation, useCreateDirectConversation, useSpaceConversation, useConversationMembers, useChatMessages, useSendMessage, useEditMessage, useDeleteMessage, useToggleReaction, useMessageThread, useTotalUnreadCount, useMarkConversationAsRead, useReportMessage, useConversationData, useTypingIndicator, useChatSocket, } from "./hooks/chat";
67
+ // -- chat slice
68
+ export { setConversation, setConversationLoading, setConversationList, setConversationListLoading, setConversationListHasMore, setConversationListCursor, upsertConversationPreview, incrementUnread, clearUnread, setMessagesLoading, setMessagesHasMore, upsertMessage, addOptimisticMessage, failOptimisticMessage, removeMessage, updateReactions, setThreadReplies, setThreadLoading, setTypingUsers, setSocketConnected, selectConversation, selectConversationLoading, selectConversationList, selectConversationListLoading, selectConversationListHasMore, selectConversationListCursor, selectMessages, selectMessagesLoading, selectMessagesHasMore, selectOldestMessageId, selectNewestMessageId, selectThreadReplies, selectThreadLoading, selectThreadHasMore, selectTypingUsers, selectSocketConnected, } from "./store/slices/chatSlice";
65
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface File {
25
25
  userId: string | null;
26
26
  entityId: string | null;
27
27
  commentId: string | null;
28
+ chatMessageId: string | null;
28
29
  spaceId: string | null;
29
30
  type: "image" | "video" | "document" | "other";
30
31
  originalPath: string;
@@ -0,0 +1,34 @@
1
+ import { GifData } from "./Comment";
2
+ import { File } from "./File";
3
+ import { Mention } from "./Mention";
4
+ import { User } from "./User";
5
+ export interface IChatMessage {
6
+ id: string;
7
+ clientId?: string;
8
+ projectId: string;
9
+ conversationId: string;
10
+ userId: string | null;
11
+ content: string | null;
12
+ gif: GifData | null;
13
+ mentions: Mention[];
14
+ files?: File[];
15
+ metadata: Record<string, any>;
16
+ parentMessageId: string | null;
17
+ quotedMessageId: string | null;
18
+ threadReplyCount: number;
19
+ reactionCounts: Record<string, number>;
20
+ userReactions: string[];
21
+ editedAt: Date | null;
22
+ userDeletedAt: Date | null;
23
+ moderationStatus: "approved" | "removed" | null;
24
+ moderatedAt: Date | null;
25
+ moderatedById: string | null;
26
+ moderatedByType: "client" | "user" | null;
27
+ moderationReason: string | null;
28
+ createdAt: Date;
29
+ updatedAt: Date;
30
+ user: User | null;
31
+ quotedMessage?: IChatMessage | null;
32
+ parentMessage?: IChatMessage | null;
33
+ sendFailed?: boolean;
34
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IChatMessage.js","sourceRoot":"","sources":["../../../../src/interfaces/models/IChatMessage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { File } from "./File";
2
+ import { IChatMessage } from "./IChatMessage";
3
+ import { IConversationMember } from "./IConversationMember";
4
+ export interface IConversation {
5
+ id: string;
6
+ projectId: string;
7
+ type: "direct" | "group" | "space";
8
+ name: string | null;
9
+ description: string | null;
10
+ spaceId: string | null;
11
+ createdById: string | null;
12
+ avatarFileId: string | null;
13
+ lastMessageAt: Date | null;
14
+ postingPermission: "members" | "admins" | null;
15
+ metadata: Record<string, any>;
16
+ createdAt: Date;
17
+ updatedAt: Date;
18
+ memberCount?: number;
19
+ currentMember?: IConversationMember;
20
+ avatarFile?: File;
21
+ }
22
+ export interface IConversationPreview extends IConversation {
23
+ unreadCount: number;
24
+ lastMessage: IChatMessage | null;
25
+ }