stream-chat-react 6.8.0 → 6.9.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 (46) hide show
  1. package/dist/browser.full-bundle.js +1372 -1201
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +2 -2
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  6. package/dist/components/Avatar/Avatar.js +3 -1
  7. package/dist/components/Channel/Channel.d.ts +2 -0
  8. package/dist/components/Channel/Channel.d.ts.map +1 -1
  9. package/dist/components/Channel/Channel.js +62 -92
  10. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +15 -0
  11. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -0
  12. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +87 -0
  13. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +4 -0
  14. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -0
  15. package/dist/components/Channel/hooks/useCreateTypingContext.js +9 -0
  16. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  17. package/dist/components/ChannelList/ChannelList.js +2 -2
  18. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -1
  19. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
  20. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +2 -4
  21. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -1
  22. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  23. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +7 -15
  24. package/dist/components/Chat/Chat.d.ts.map +1 -1
  25. package/dist/components/Chat/Chat.js +14 -12
  26. package/dist/components/Chat/hooks/useChat.js +1 -1
  27. package/dist/components/Chat/hooks/useCreateChatContext.d.ts +4 -0
  28. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -0
  29. package/dist/components/Chat/hooks/useCreateChatContext.js +21 -0
  30. package/dist/components/MessageInput/MessageInput.d.ts +1 -1
  31. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  32. package/dist/components/MessageInput/MessageInput.js +2 -1
  33. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +4 -0
  34. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -0
  35. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +88 -0
  36. package/dist/components/MessageList/VirtualizedMessageList.d.ts +4 -2
  37. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  38. package/dist/components/MessageList/VirtualizedMessageList.js +2 -2
  39. package/dist/index.cjs.js +317 -146
  40. package/dist/index.cjs.js.map +1 -1
  41. package/dist/utils.d.ts +2 -2
  42. package/dist/utils.d.ts.map +1 -1
  43. package/dist/utils.js +22 -15
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import type { Channel, Event } from 'stream-chat';
3
3
  import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
4
- export declare const useNotificationMessageNewListener: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, customHandler?: ((setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, event: Event<At, Ch, Co, Ev, Me, Re, Us>) => void) | undefined, setOffset?: import("react").Dispatch<import("react").SetStateAction<number>> | undefined, allowNewMessagesFromUnfilteredChannels?: boolean) => void;
4
+ export declare const useNotificationMessageNewListener: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, customHandler?: ((setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, event: Event<At, Ch, Co, Ev, Me, Re, Us>) => void) | undefined, allowNewMessagesFromUnfilteredChannels?: boolean) => void;
5
5
  //# sourceMappingURL=useNotificationMessageNewListener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNotificationMessageNewListener.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/useNotificationMessageNewListener.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iCAAiC,w1BAavC,IAAI,kKAwBV,CAAC"}
1
+ {"version":3,"file":"useNotificationMessageNewListener.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/useNotificationMessageNewListener.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iCAAiC,w1BAavC,IAAI,wEAqBV,CAAC"}
@@ -43,7 +43,7 @@ import { useEffect } from 'react';
43
43
  import uniqBy from 'lodash.uniqby';
44
44
  import { getChannel } from '../utils';
45
45
  import { useChatContext } from '../../../context/ChatContext';
46
- export var useNotificationMessageNewListener = function (setChannels, customHandler, setOffset, allowNewMessagesFromUnfilteredChannels) {
46
+ export var useNotificationMessageNewListener = function (setChannels, customHandler, allowNewMessagesFromUnfilteredChannels) {
47
47
  if (allowNewMessagesFromUnfilteredChannels === void 0) { allowNewMessagesFromUnfilteredChannels = true; }
48
48
  var client = useChatContext().client;
49
49
  useEffect(function () {
@@ -63,9 +63,7 @@ export var useNotificationMessageNewListener = function (setChannels, customHand
63
63
  channel_1 = _b.sent();
64
64
  setChannels(function (channels) { return uniqBy(__spreadArray([channel_1], channels), 'cid'); });
65
65
  _b.label = 3;
66
- case 3:
67
- setOffset === null || setOffset === void 0 ? void 0 : setOffset(function (prevOffset) { return prevOffset + 1; });
68
- return [2 /*return*/];
66
+ case 3: return [2 /*return*/];
69
67
  }
70
68
  });
71
69
  }); };
@@ -6,7 +6,6 @@ export declare const usePaginatedChannels: <At extends DefaultAttachmentType = D
6
6
  hasNextPage: boolean;
7
7
  loadNextPage: () => void;
8
8
  setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>;
9
- setOffset: import("react").Dispatch<import("react").SetStateAction<number>>;
10
9
  status: {
11
10
  error: boolean;
12
11
  loadingChannels: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpG,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,krBAYtB,cAAc,2LAIlB,IAAI;;;;;;;;;;;CAwEV,CAAC"}
1
+ {"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpG,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,krBAYtB,cAAc,2LAIlB,IAAI;;;;;;;;;;CAoEV,CAAC"}
@@ -57,12 +57,11 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
57
57
  var _b = useState(false), error = _b[0], setError = _b[1];
58
58
  var _c = useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
59
59
  var _d = useState(true), loadingChannels = _d[0], setLoadingChannels = _d[1];
60
- var _e = useState(0), offset = _e[0], setOffset = _e[1];
61
- var _f = useState(true), refreshing = _f[0], setRefreshing = _f[1];
60
+ var _e = useState(true), refreshing = _e[0], setRefreshing = _e[1];
62
61
  var filterString = useMemo(function () { return JSON.stringify(filters); }, [filters]);
63
62
  var sortString = useMemo(function () { return JSON.stringify(sort); }, [sort]);
64
63
  var queryChannels = function (queryType) { return __awaiter(void 0, void 0, void 0, function () {
65
- var newOptions, channelQueryResponse, newChannels, err_1;
64
+ var offset, newOptions, channelQueryResponse, newChannels, err_1;
66
65
  var _a;
67
66
  return __generator(this, function (_b) {
68
67
  switch (_b.label) {
@@ -72,27 +71,21 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
72
71
  setLoadingChannels(true);
73
72
  }
74
73
  setRefreshing(true);
75
- newOptions = __assign({ limit: (_a = options === null || options === void 0 ? void 0 : options.limit) !== null && _a !== void 0 ? _a : MAX_QUERY_CHANNELS_LIMIT, offset: queryType === 'reload' ? 0 : offset }, options);
74
+ offset = queryType === 'reload' ? 0 : channels.length;
75
+ newOptions = __assign({ limit: (_a = options === null || options === void 0 ? void 0 : options.limit) !== null && _a !== void 0 ? _a : MAX_QUERY_CHANNELS_LIMIT, offset: offset }, options);
76
76
  _b.label = 1;
77
77
  case 1:
78
78
  _b.trys.push([1, 3, , 4]);
79
79
  return [4 /*yield*/, client.queryChannels(filters, sort || {}, newOptions)];
80
80
  case 2:
81
81
  channelQueryResponse = _b.sent();
82
- newChannels = void 0;
83
- if (queryType === 'reload') {
84
- newChannels = channelQueryResponse;
85
- }
86
- else {
87
- newChannels = __spreadArray(__spreadArray([], channels), channelQueryResponse);
88
- }
82
+ newChannels = queryType === 'reload' ? channelQueryResponse : __spreadArray(__spreadArray([], channels), channelQueryResponse);
89
83
  setChannels(newChannels);
90
84
  setHasNextPage(channelQueryResponse.length >= newOptions.limit);
91
- // Set active channel only after first page.
92
- if (offset === 0 && activeChannelHandler) {
85
+ // Set active channel only on load of first page
86
+ if (!offset && activeChannelHandler) {
93
87
  activeChannelHandler(newChannels, setChannels);
94
88
  }
95
- setOffset(newChannels.length);
96
89
  return [3 /*break*/, 4];
97
90
  case 3:
98
91
  err_1 = _b.sent();
@@ -117,7 +110,6 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
117
110
  hasNextPage: hasNextPage,
118
111
  loadNextPage: loadNextPage,
119
112
  setChannels: setChannels,
120
- setOffset: setOffset,
121
113
  status: {
122
114
  error: error,
123
115
  loadingChannels: loadingChannels,
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAgB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,kCAAkC,CAAC;AAE9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,oBAAY,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IACvC,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,GACX,YAAY,GACZ,CAAC,CAAC;AAEN,oBAAY,SAAS,CACnB,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,8BAA8B;IAC9B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oIAAoI;IACpI,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,0oBAwDhB,CAAC"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAgB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,kCAAkC,CAAC;AAE9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,oBAAY,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IACvC,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,GACX,YAAY,GACZ,CAAC,CAAC;AAEN,oBAAY,SAAS,CACnB,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,8BAA8B;IAC9B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oIAAoI;IACpI,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,0oBAwDhB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useChat } from './hooks/useChat';
3
+ import { useCreateChatContext } from './hooks/useCreateChatContext';
3
4
  import { darkModeTheme, useCustomStyles } from './hooks/useCustomStyles';
4
5
  import { ChatProvider } from '../../context/ChatContext';
5
6
  import { TranslationProvider } from '../../context/TranslationContext';
@@ -11,19 +12,20 @@ export var Chat = function (props) {
11
12
  var children = props.children, client = props.client, customClasses = props.customClasses, customStyles = props.customStyles, _a = props.darkMode, darkMode = _a === void 0 ? false : _a, defaultLanguage = props.defaultLanguage, i18nInstance = props.i18nInstance, _b = props.initialNavOpen, initialNavOpen = _b === void 0 ? true : _b, _c = props.theme, theme = _c === void 0 ? 'messaging light' : _c, _d = props.useImageFlagEmojisOnWindows, useImageFlagEmojisOnWindows = _d === void 0 ? false : _d;
12
13
  var _e = useChat({ client: client, defaultLanguage: defaultLanguage, i18nInstance: i18nInstance, initialNavOpen: initialNavOpen }), channel = _e.channel, closeMobileNav = _e.closeMobileNav, mutes = _e.mutes, navOpen = _e.navOpen, openMobileNav = _e.openMobileNav, setActiveChannel = _e.setActiveChannel, translators = _e.translators;
13
14
  useCustomStyles(darkMode ? darkModeTheme : customStyles);
15
+ var chatContextValue = useCreateChatContext({
16
+ channel: channel,
17
+ client: client,
18
+ closeMobileNav: closeMobileNav,
19
+ customClasses: customClasses,
20
+ mutes: mutes,
21
+ navOpen: navOpen,
22
+ openMobileNav: openMobileNav,
23
+ setActiveChannel: setActiveChannel,
24
+ theme: theme,
25
+ useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
26
+ });
14
27
  if (!translators.t)
15
28
  return null;
16
- return (React.createElement(ChatProvider, { value: {
17
- channel: channel,
18
- client: client,
19
- closeMobileNav: closeMobileNav,
20
- customClasses: customClasses,
21
- mutes: mutes,
22
- navOpen: navOpen,
23
- openMobileNav: openMobileNav,
24
- setActiveChannel: setActiveChannel,
25
- theme: theme,
26
- useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
27
- } },
29
+ return (React.createElement(ChatProvider, { value: chatContextValue },
28
30
  React.createElement(TranslationProvider, { value: translators }, children)));
29
31
  };
@@ -61,7 +61,7 @@ export var useChat = function (_a) {
61
61
  var _e = useState(), channel = _e[0], setChannel = _e[1];
62
62
  var _f = useState([]), mutes = _f[0], setMutes = _f[1];
63
63
  var _g = useState(initialNavOpen), navOpen = _g[0], setNavOpen = _g[1];
64
- var clientMutes = (_b = client === null || client === void 0 ? void 0 : client.user) === null || _b === void 0 ? void 0 : _b.mutes;
64
+ var clientMutes = (_b = client.user) === null || _b === void 0 ? void 0 : _b.mutes;
65
65
  var closeMobileNav = function () { return setNavOpen(false); };
66
66
  var openMobileNav = function () { return setTimeout(function () { return setNavOpen(true); }, 100); };
67
67
  useEffect(function () {
@@ -0,0 +1,4 @@
1
+ import type { ChatContextValue } from '../../../context/ChatContext';
2
+ import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
3
+ export declare const useCreateChatContext: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(value: ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>) => ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>;
4
+ //# sourceMappingURL=useCreateChatContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateChatContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/hooks/useCreateChatContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,iqBAgDhC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { useMemo } from 'react';
2
+ export var useCreateChatContext = function (value) {
3
+ var _a;
4
+ var channel = value.channel, client = value.client, closeMobileNav = value.closeMobileNav, customClasses = value.customClasses, mutes = value.mutes, navOpen = value.navOpen, openMobileNav = value.openMobileNav, setActiveChannel = value.setActiveChannel, theme = value.theme, useImageFlagEmojisOnWindows = value.useImageFlagEmojisOnWindows;
5
+ var channelCid = channel === null || channel === void 0 ? void 0 : channel.cid;
6
+ var clientValues = "" + client.clientID + Object.keys(client.activeChannels).length + Object.keys(client.listeners).length + client.mutedChannels.length + "\n " + ((_a = client.user) === null || _a === void 0 ? void 0 : _a.id);
7
+ var mutedUsersLength = mutes.length;
8
+ var chatContext = useMemo(function () { return ({
9
+ channel: channel,
10
+ client: client,
11
+ closeMobileNav: closeMobileNav,
12
+ customClasses: customClasses,
13
+ mutes: mutes,
14
+ navOpen: navOpen,
15
+ openMobileNav: openMobileNav,
16
+ setActiveChannel: setActiveChannel,
17
+ theme: theme,
18
+ useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
19
+ }); }, [channelCid, clientValues, mutedUsersLength, navOpen]);
20
+ return chatContext;
21
+ };
@@ -43,7 +43,7 @@ export declare type MessageInputProps<At extends DefaultAttachmentType = Default
43
43
  mentionQueryParams?: SearchQueryParams<Us>['userFilters'];
44
44
  /** If provided, the existing message will be edited on submit */
45
45
  message?: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>;
46
- /** If true, disables file uploads. Default: false */
46
+ /** If true, disables file uploads for all attachments except for those with type 'image'. Default: false */
47
47
  noFiles?: boolean;
48
48
  /** Function to override the default submit handler */
49
49
  overrideSubmitHandler?: (message: MessageToSend<At, Ch, Co, Ev, Me, Re, Us>, channelCid: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import React from 'react';
13
13
  import { DefaultTriggerProvider } from './DefaultTriggerProvider';
14
14
  import { MessageInputFlat } from './MessageInputFlat';
15
15
  import { useCooldownTimer } from './hooks/useCooldownTimer';
16
+ import { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';
16
17
  import { useMessageInputState } from './hooks/useMessageInputState';
17
18
  import { MessageInputContextProvider } from '../../context/MessageInputContext';
18
19
  import { useComponentContext } from '../../context/ComponentContext';
@@ -22,7 +23,7 @@ var UnMemoizedMessageInput = function (props) {
22
23
  var Input = PropInput || ContextInput || MessageInputFlat;
23
24
  var messageInputState = useMessageInputState(props);
24
25
  var cooldownTimerState = useCooldownTimer();
25
- var messageInputContextValue = __assign(__assign(__assign({}, cooldownTimerState), messageInputState), props);
26
+ var messageInputContextValue = useCreateMessageInputContext(__assign(__assign(__assign({}, cooldownTimerState), messageInputState), props));
26
27
  return (React.createElement(MessageInputContextProvider, { value: messageInputContextValue },
27
28
  React.createElement(TriggerProvider, null,
28
29
  React.createElement(Input, null))));
@@ -0,0 +1,4 @@
1
+ import type { MessageInputContextValue } from '../../../context/MessageInputContext';
2
+ import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
3
+ export declare const useCreateMessageInputContext: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(value: MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us, V>) => MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us, V>;
4
+ //# sourceMappingURL=useCreateMessageInputContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateMessageInputContext.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCreateMessageInputContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,4BAA4B,guBAwJxC,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { useMemo } from 'react';
2
+ export var useCreateMessageInputContext = function (value) {
3
+ var additionalTextareaProps = value.additionalTextareaProps, attachments = value.attachments, autocompleteTriggers = value.autocompleteTriggers, clearEditingState = value.clearEditingState, closeCommandsList = value.closeCommandsList, closeEmojiPicker = value.closeEmojiPicker, cooldownInterval = value.cooldownInterval, disabled = value.disabled, disableMentions = value.disableMentions, doFileUploadRequest = value.doFileUploadRequest, doImageUploadRequest = value.doImageUploadRequest, emojiIndex = value.emojiIndex, emojiPickerIsOpen = value.emojiPickerIsOpen, emojiPickerRef = value.emojiPickerRef, errorHandler = value.errorHandler, fileOrder = value.fileOrder, fileUploads = value.fileUploads, focus = value.focus, grow = value.grow, handleChange = value.handleChange, handleEmojiKeyDown = value.handleEmojiKeyDown, handleSubmit = value.handleSubmit, imageOrder = value.imageOrder, imageUploads = value.imageUploads, insertText = value.insertText, isUploadEnabled = value.isUploadEnabled, keycodeSubmitKeys = value.keycodeSubmitKeys, maxFilesLeft = value.maxFilesLeft, maxRows = value.maxRows, mentionAllAppUsers = value.mentionAllAppUsers, mentioned_users = value.mentioned_users, mentionQueryParams = value.mentionQueryParams, message = value.message, noFiles = value.noFiles, numberOfUploads = value.numberOfUploads, onPaste = value.onPaste, onSelectEmoji = value.onSelectEmoji, onSelectUser = value.onSelectUser, openCommandsList = value.openCommandsList, openEmojiPicker = value.openEmojiPicker, overrideSubmitHandler = value.overrideSubmitHandler, parent = value.parent, publishTypingEvent = value.publishTypingEvent, removeFile = value.removeFile, removeImage = value.removeImage, setCooldownRemaining = value.setCooldownRemaining, setText = value.setText, showCommandsList = value.showCommandsList, text = value.text, textareaRef = value.textareaRef, uploadFile = value.uploadFile, uploadImage = value.uploadImage, uploadNewFiles = value.uploadNewFiles, useMentionsTransliteration = value.useMentionsTransliteration;
4
+ var editing = message === null || message === void 0 ? void 0 : message.editing;
5
+ var fileUploadsValue = Object.entries(fileUploads)
6
+ // eslint-disable-next-line
7
+ .map(function (_a) {
8
+ var _ = _a[0], value = _a[1];
9
+ return value.state;
10
+ })
11
+ .join();
12
+ var imageUploadsValue = Object.entries(imageUploads)
13
+ // eslint-disable-next-line
14
+ .map(function (_a) {
15
+ var _ = _a[0], value = _a[1];
16
+ return value.state;
17
+ })
18
+ .join();
19
+ var mentionedUsersLength = mentioned_users.length;
20
+ var parentId = parent === null || parent === void 0 ? void 0 : parent.id;
21
+ var messageInputContext = useMemo(function () { return ({
22
+ additionalTextareaProps: additionalTextareaProps,
23
+ attachments: attachments,
24
+ autocompleteTriggers: autocompleteTriggers,
25
+ clearEditingState: clearEditingState,
26
+ closeCommandsList: closeCommandsList,
27
+ closeEmojiPicker: closeEmojiPicker,
28
+ cooldownInterval: cooldownInterval,
29
+ disabled: disabled,
30
+ disableMentions: disableMentions,
31
+ doFileUploadRequest: doFileUploadRequest,
32
+ doImageUploadRequest: doImageUploadRequest,
33
+ emojiIndex: emojiIndex,
34
+ emojiPickerIsOpen: emojiPickerIsOpen,
35
+ emojiPickerRef: emojiPickerRef,
36
+ errorHandler: errorHandler,
37
+ fileOrder: fileOrder,
38
+ fileUploads: fileUploads,
39
+ focus: focus,
40
+ grow: grow,
41
+ handleChange: handleChange,
42
+ handleEmojiKeyDown: handleEmojiKeyDown,
43
+ handleSubmit: handleSubmit,
44
+ imageOrder: imageOrder,
45
+ imageUploads: imageUploads,
46
+ insertText: insertText,
47
+ isUploadEnabled: isUploadEnabled,
48
+ keycodeSubmitKeys: keycodeSubmitKeys,
49
+ maxFilesLeft: maxFilesLeft,
50
+ maxRows: maxRows,
51
+ mentionAllAppUsers: mentionAllAppUsers,
52
+ mentioned_users: mentioned_users,
53
+ mentionQueryParams: mentionQueryParams,
54
+ message: message,
55
+ noFiles: noFiles,
56
+ numberOfUploads: numberOfUploads,
57
+ onPaste: onPaste,
58
+ onSelectEmoji: onSelectEmoji,
59
+ onSelectUser: onSelectUser,
60
+ openCommandsList: openCommandsList,
61
+ openEmojiPicker: openEmojiPicker,
62
+ overrideSubmitHandler: overrideSubmitHandler,
63
+ parent: parent,
64
+ publishTypingEvent: publishTypingEvent,
65
+ removeFile: removeFile,
66
+ removeImage: removeImage,
67
+ setCooldownRemaining: setCooldownRemaining,
68
+ setText: setText,
69
+ showCommandsList: showCommandsList,
70
+ text: text,
71
+ textareaRef: textareaRef,
72
+ uploadFile: uploadFile,
73
+ uploadImage: uploadImage,
74
+ uploadNewFiles: uploadNewFiles,
75
+ useMentionsTransliteration: useMentionsTransliteration,
76
+ }); }, [
77
+ editing,
78
+ emojiPickerIsOpen,
79
+ fileUploadsValue,
80
+ imageUploadsValue,
81
+ isUploadEnabled,
82
+ mentionedUsersLength,
83
+ parentId,
84
+ publishTypingEvent,
85
+ text,
86
+ ]);
87
+ return messageInputContext;
88
+ };
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
- import { ScrollSeekConfiguration, ScrollSeekPlaceholderProps } from 'react-virtuoso';
2
+ import { ScrollSeekConfiguration, ScrollSeekPlaceholderProps, VirtuosoProps } from 'react-virtuoso';
3
3
  import { MessageProps, MessageUIComponentProps } from '../Message';
4
4
  import { ChannelActionContextValue } from '../../context/ChannelActionContext';
5
5
  import { StreamMessage } from '../../context/ChannelStateContext';
6
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../types/types';
6
+ import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType, UnknownType } from '../../types/types';
7
7
  export declare type VirtualizedMessageListProps<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType> = Partial<Pick<MessageProps<At, Ch, Co, Ev, Me, Re, Us>, 'customMessageActions' | 'messageActions'>> & {
8
+ /** Additional props to be passed the underlying [`react-virtuoso` virtualized list dependency](https://virtuoso.dev/virtuoso-api-reference/) */
9
+ additionalVirtuosoProps?: VirtuosoProps<UnknownType>;
8
10
  /** If true, picking a reaction from the `ReactionSelector` component will close the selector */
9
11
  closeReactionSelectorOnClick?: boolean;
10
12
  /** Custom render function, if passed, certain UI props are ignored */
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ import { useComponentContext } from '../../context/ComponentContext';
30
30
  import { isDate, useTranslationContext } from '../../context/TranslationContext';
31
31
  var PREPEND_OFFSET = Math.pow(10, 7);
32
32
  var VirtualizedMessageListWithContext = function (props) {
33
- var channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, loadingMore = props.loadingMore, loadMore = props.loadMore, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, _e = props.overscan, overscan = _e === void 0 ? 0 : _e,
33
+ var additionalVirtuosoProps = props.additionalVirtuosoProps, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, loadingMore = props.loadingMore, loadMore = props.loadMore, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, _e = props.overscan, overscan = _e === void 0 ? 0 : _e,
34
34
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
35
35
  scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j;
36
36
  var _k = useComponentContext(), _l = _k.DateSeparator, DateSeparator = _l === void 0 ? DefaultDateSeparator : _l, _m = _k.EmptyStateIndicator, EmptyStateIndicator = _m === void 0 ? DefaultEmptyStateIndicator : _m, _o = _k.GiphyPreviewMessage, GiphyPreviewMessage = _o === void 0 ? DefaultGiphyPreviewMessage : _o, _p = _k.LoadingIndicator, LoadingIndicator = _p === void 0 ? DefaultLoadingIndicator : _p, _q = _k.MessageNotification, MessageNotification = _q === void 0 ? DefaultMessageNotification : _q, _r = _k.MessageSystem, MessageSystem = _r === void 0 ? EventComponent : _r, _s = _k.TypingIndicator, TypingIndicator = _s === void 0 ? null : _s, _t = _k.VirtualMessage, contextMessage = _t === void 0 ? MessageSimple : _t;
@@ -158,7 +158,7 @@ var VirtualizedMessageListWithContext = function (props) {
158
158
  var virtualizedMessageListClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list';
159
159
  return (React.createElement(React.Fragment, null,
160
160
  React.createElement("div", { className: virtualizedMessageListClass },
161
- React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, initialTopMostItemIndex: processedMessages.length ? processedMessages.length - 1 : 0, itemContent: function (i) { return messageRenderer(processedMessages, i); }, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))),
161
+ React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, initialTopMostItemIndex: processedMessages.length ? processedMessages.length - 1 : 0, itemContent: function (i) { return messageRenderer(processedMessages, i); }, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))),
162
162
  React.createElement("div", { className: 'str-chat__list-notifications' },
163
163
  React.createElement(MessageNotification, { onClick: scrollToBottom, showNotification: newMessagesNotification }, t('New Messages!')))),
164
164
  giphyPreviewMessage && React.createElement(GiphyPreviewMessage, { message: giphyPreviewMessage })));