@sendbird/uikit-chat-hooks 2.0.2 → 2.1.0

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 (48) hide show
  1. package/lib/commonjs/channel/useGroupChannel.js +33 -0
  2. package/lib/commonjs/channel/useGroupChannel.js.map +1 -0
  3. package/lib/commonjs/channel/useGroupChannelMessages/reducer.js +3 -3
  4. package/lib/commonjs/channel/useGroupChannelMessages/reducer.js.map +1 -1
  5. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +56 -68
  6. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
  7. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +26 -35
  8. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
  9. package/lib/commonjs/common/useAppFeatures.js +4 -4
  10. package/lib/commonjs/common/useAppFeatures.js.map +1 -1
  11. package/lib/commonjs/common/useMessageOutgoingStatus.js +1 -1
  12. package/lib/commonjs/common/useMessageOutgoingStatus.js.map +1 -1
  13. package/lib/commonjs/common/useUserList.js +25 -7
  14. package/lib/commonjs/common/useUserList.js.map +1 -1
  15. package/lib/commonjs/index.js +8 -0
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/types.js.map +1 -1
  18. package/lib/module/channel/useGroupChannel.js +22 -0
  19. package/lib/module/channel/useGroupChannel.js.map +1 -0
  20. package/lib/module/channel/useGroupChannelMessages/reducer.js +3 -3
  21. package/lib/module/channel/useGroupChannelMessages/reducer.js.map +1 -1
  22. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +57 -68
  23. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
  24. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +26 -34
  25. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
  26. package/lib/module/common/useAppFeatures.js +4 -4
  27. package/lib/module/common/useAppFeatures.js.map +1 -1
  28. package/lib/module/common/useMessageOutgoingStatus.js +1 -1
  29. package/lib/module/common/useMessageOutgoingStatus.js.map +1 -1
  30. package/lib/module/common/useUserList.js +27 -9
  31. package/lib/module/common/useUserList.js.map +1 -1
  32. package/lib/module/index.js +1 -0
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/types.js.map +1 -1
  35. package/lib/typescript/src/channel/useGroupChannel.d.ts +6 -0
  36. package/lib/typescript/src/common/useUserList.d.ts +2 -2
  37. package/lib/typescript/src/index.d.ts +2 -1
  38. package/lib/typescript/src/types.d.ts +13 -6
  39. package/package.json +3 -3
  40. package/src/channel/useGroupChannel.ts +21 -0
  41. package/src/channel/useGroupChannelMessages/reducer.ts +4 -4
  42. package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.ts +70 -76
  43. package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.ts +29 -31
  44. package/src/common/useAppFeatures.ts +4 -4
  45. package/src/common/useMessageOutgoingStatus.ts +2 -1
  46. package/src/common/useUserList.ts +38 -12
  47. package/src/index.ts +3 -1
  48. package/src/types.ts +16 -7
package/src/types.ts CHANGED
@@ -178,11 +178,6 @@ export interface UseGroupChannelMessages {
178
178
  * @return {Promise<void>}
179
179
  * */
180
180
  deleteMessage: (message: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;
181
-
182
- /**
183
- * Activated channel
184
- * */
185
- activeChannel: SendbirdGroupChannel;
186
181
  };
187
182
  }
188
183
 
@@ -194,11 +189,15 @@ export type UseGroupChannelMessagesOptions = {
194
189
  onChannelDeleted?: () => void;
195
190
  };
196
191
 
192
+ export interface UserStruct {
193
+ userId: string;
194
+ }
195
+
197
196
  /**
198
197
  * @interface UseUserListReturn
199
198
  * @description interface for user list hook return value
200
199
  * */
201
- export interface UseUserListReturn<User> {
200
+ export interface UseUserListReturn<User extends UserStruct> {
202
201
  /**
203
202
  * Loading state, only available on first render
204
203
  * */
@@ -225,6 +224,16 @@ export interface UseUserListReturn<User> {
225
224
  * */
226
225
  users: User[];
227
226
 
227
+ /**
228
+ * Update or Insert user to list
229
+ * */
230
+ upsertUser: (user: User) => void;
231
+
232
+ /**
233
+ * Delete user from list
234
+ * */
235
+ deleteUser: (userId: User['userId']) => void;
236
+
228
237
  /**
229
238
  * Fetch next users to state
230
239
  * @return {Promise<void>}
@@ -232,7 +241,7 @@ export interface UseUserListReturn<User> {
232
241
  next: () => Promise<void>;
233
242
  }
234
243
 
235
- export type UseUserListOptions<User> = {
244
+ export type UseUserListOptions<User extends UserStruct> = {
236
245
  sortComparator?: (a: User, b: User) => number;
237
246
  queryCreator?: () => CustomQueryInterface<User>;
238
247
  };