stream-chat-react 10.17.0 → 10.19.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 (54) hide show
  1. package/dist/browser.full-bundle.js +120 -44
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +5 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  6. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +2 -2
  7. package/dist/components/Chat/Chat.d.ts.map +1 -1
  8. package/dist/components/Chat/Chat.js +3 -1
  9. package/dist/components/Chat/hooks/useChat.d.ts +2 -0
  10. package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
  11. package/dist/components/Chat/hooks/useChat.js +7 -4
  12. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  13. package/dist/components/Chat/hooks/useCreateChatContext.js +5 -1
  14. package/dist/components/Message/renderText/index.d.ts +3 -1
  15. package/dist/components/Message/renderText/index.d.ts.map +1 -1
  16. package/dist/components/Message/renderText/index.js +2 -1
  17. package/dist/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.d.ts +3 -0
  18. package/dist/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.d.ts.map +1 -0
  19. package/dist/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.js +10 -0
  20. package/dist/components/Message/renderText/rehypePlugins/index.d.ts +3 -0
  21. package/dist/components/Message/renderText/rehypePlugins/index.d.ts.map +1 -0
  22. package/dist/components/Message/renderText/rehypePlugins/index.js +2 -0
  23. package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +5 -0
  24. package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts.map +1 -0
  25. package/dist/components/Message/renderText/{rehypePlugins.js → rehypePlugins/mentionsMarkdownPlugin.js} +1 -9
  26. package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts +3 -0
  27. package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts.map +1 -0
  28. package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.js +10 -0
  29. package/dist/components/Message/renderText/remarkPlugins/index.d.ts +3 -0
  30. package/dist/components/Message/renderText/remarkPlugins/index.d.ts.map +1 -0
  31. package/dist/components/Message/renderText/remarkPlugins/index.js +2 -0
  32. package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts +3 -0
  33. package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts.map +1 -0
  34. package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.js +32 -0
  35. package/dist/components/Message/renderText/types.d.ts +3 -0
  36. package/dist/components/Message/renderText/types.d.ts.map +1 -0
  37. package/dist/components/Message/renderText/types.js +1 -0
  38. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  39. package/dist/components/MessageList/MessageList.js +2 -1
  40. package/dist/context/ChatContext.d.ts +29 -2
  41. package/dist/context/ChatContext.d.ts.map +1 -1
  42. package/dist/context/MessageListContext.d.ts +16 -0
  43. package/dist/context/MessageListContext.d.ts.map +1 -0
  44. package/dist/context/MessageListContext.js +17 -0
  45. package/dist/context/index.d.ts +1 -0
  46. package/dist/context/index.d.ts.map +1 -1
  47. package/dist/context/index.js +1 -0
  48. package/dist/index.cjs.js +110 -38
  49. package/dist/index.cjs.js.map +1 -1
  50. package/dist/version.d.ts +1 -1
  51. package/dist/version.js +1 -1
  52. package/package.json +1 -1
  53. package/dist/components/Message/renderText/rehypePlugins.d.ts +0 -7
  54. package/dist/components/Message/renderText/rehypePlugins.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,eAAO,MAAM,oBAAoB,0NAMtB,cAAc,2KAIlB,IAAI,+BACmB,MAAM;;;;;CAkGnC,CAAC"}
1
+ {"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,eAAO,MAAM,oBAAoB,0NAMtB,cAAc,2KAIlB,IAAI,+BACmB,MAAM;;;;;CAqGnC,CAAC"}
@@ -7,8 +7,7 @@ var RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 5000;
7
7
  var MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 2000;
8
8
  export var usePaginatedChannels = function (client, filters, sort, options, activeChannelHandler, recoveryThrottleIntervalMs) {
9
9
  if (recoveryThrottleIntervalMs === void 0) { recoveryThrottleIntervalMs = RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS; }
10
- var _a = useChatContext('usePaginatedChannels').channelsQueryState, error = _a.error, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
11
- var _b = useState([]), channels = _b[0], setChannels = _b[1];
10
+ var _a = useChatContext('usePaginatedChannels'), channels = _a.channels, _b = _a.channelsQueryState, error = _b.error, setError = _b.setError, setQueryInProgress = _b.setQueryInProgress, setChannels = _a.setChannels;
12
11
  var _c = useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
13
12
  var lastRecoveryTimestamp = useRef();
14
13
  var recoveryThrottleInterval = recoveryThrottleIntervalMs < MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS
@@ -88,6 +87,7 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
88
87
  useEffect(function () {
89
88
  queryChannels('reload');
90
89
  }, [filterString, sortString]);
90
+ // FIXME: state refactor (breaking change) is needed - do not forward `channels` and `setChannel`
91
91
  return {
92
92
  channels: channels,
93
93
  hasNextPage: hasNextPage,
@@ -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;AAKjD,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAgB,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AACtF,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,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,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,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,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,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,yKAiEhB,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;AAKjD,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAgB,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AACtF,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,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,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,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,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,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,yKAqEhB,CAAC"}
@@ -11,7 +11,7 @@ import { TranslationProvider } from '../../context/TranslationContext';
11
11
  */
12
12
  export var Chat = function (props) {
13
13
  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;
14
- var _e = useChat({ client: client, defaultLanguage: defaultLanguage, i18nInstance: i18nInstance, initialNavOpen: initialNavOpen }), channel = _e.channel, closeMobileNav = _e.closeMobileNav, getAppSettings = _e.getAppSettings, latestMessageDatesByChannels = _e.latestMessageDatesByChannels, mutes = _e.mutes, navOpen = _e.navOpen, openMobileNav = _e.openMobileNav, setActiveChannel = _e.setActiveChannel, translators = _e.translators;
14
+ var _e = useChat({ client: client, defaultLanguage: defaultLanguage, i18nInstance: i18nInstance, initialNavOpen: initialNavOpen }), channel = _e.channel, channels = _e.channels, closeMobileNav = _e.closeMobileNav, getAppSettings = _e.getAppSettings, latestMessageDatesByChannels = _e.latestMessageDatesByChannels, mutes = _e.mutes, navOpen = _e.navOpen, openMobileNav = _e.openMobileNav, setActiveChannel = _e.setActiveChannel, setChannels = _e.setChannels, translators = _e.translators;
15
15
  var channelsQueryState = useChannelsQueryState();
16
16
  var themeVersion = typeof window !== 'undefined'
17
17
  ? (window
@@ -22,6 +22,7 @@ export var Chat = function (props) {
22
22
  useCustomStyles(darkMode ? darkModeTheme : customStyles);
23
23
  var chatContextValue = useCreateChatContext({
24
24
  channel: channel,
25
+ channels: channels,
25
26
  channelsQueryState: channelsQueryState,
26
27
  client: client,
27
28
  closeMobileNav: closeMobileNav,
@@ -32,6 +33,7 @@ export var Chat = function (props) {
32
33
  navOpen: navOpen,
33
34
  openMobileNav: openMobileNav,
34
35
  setActiveChannel: setActiveChannel,
36
+ setChannels: setChannels,
35
37
  theme: theme,
36
38
  themeVersion: themeVersion,
37
39
  useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
@@ -10,6 +10,7 @@ export declare type UseChatParams<StreamChatGenerics extends DefaultStreamChatGe
10
10
  };
11
11
  export declare const useChat: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ client, defaultLanguage, i18nInstance, initialNavOpen, }: UseChatParams<StreamChatGenerics>) => {
12
12
  channel: Channel<StreamChatGenerics> | undefined;
13
+ channels: Channel<StreamChatGenerics>[];
13
14
  closeMobileNav: () => void;
14
15
  getAppSettings: () => Promise<AppSettingsAPIResponse<StreamChatGenerics>>;
15
16
  latestMessageDatesByChannels: {};
@@ -20,6 +21,7 @@ export declare const useChat: <StreamChatGenerics extends DefaultStreamChatGener
20
21
  limit?: number;
21
22
  offset?: number;
22
23
  }, event?: React.BaseSyntheticEvent) => Promise<void>;
24
+ setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<StreamChatGenerics>[]>>;
23
25
  translators: TranslationContextValue;
24
26
  };
25
27
  //# sourceMappingURL=useChat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/hooks/useChat.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAS,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,aAAa,CACvB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;2FAgFJ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,UACrC,MAAM,kBAAkB;;CA6BrC,CAAC"}
1
+ {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/hooks/useChat.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAS,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,aAAa,CACvB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;2FAiFJ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,UACrC,MAAM,kBAAkB;;;CA+BrC,CAAC"}
@@ -11,10 +11,11 @@ export var useChat = function (_a) {
11
11
  tDateTimeParser: defaultDateTimeParser,
12
12
  userLanguage: 'en',
13
13
  }), translators = _e[0], setTranslators = _e[1];
14
- var _f = useState(), channel = _f[0], setChannel = _f[1];
15
- var _g = useState([]), mutes = _g[0], setMutes = _g[1];
16
- var _h = useState(initialNavOpen), navOpen = _h[0], setNavOpen = _h[1];
17
- var _j = useState({}), latestMessageDatesByChannels = _j[0], setLatestMessageDatesByChannels = _j[1];
14
+ var _f = useState([]), channels = _f[0], setChannels = _f[1];
15
+ var _g = useState(), channel = _g[0], setChannel = _g[1];
16
+ var _h = useState([]), mutes = _h[0], setMutes = _h[1];
17
+ var _j = useState(initialNavOpen), navOpen = _j[0], setNavOpen = _j[1];
18
+ var _k = useState({}), latestMessageDatesByChannels = _k[0], setLatestMessageDatesByChannels = _k[1];
18
19
  var clientMutes = ((_b = client.user) === null || _b === void 0 ? void 0 : _b.mutes) || [];
19
20
  var closeMobileNav = function () { return setNavOpen(false); };
20
21
  var openMobileNav = function () { return setTimeout(function () { return setNavOpen(true); }, 100); };
@@ -85,6 +86,7 @@ export var useChat = function (_a) {
85
86
  }, [(_c = client.user) === null || _c === void 0 ? void 0 : _c.id]);
86
87
  return {
87
88
  channel: channel,
89
+ channels: channels,
88
90
  closeMobileNav: closeMobileNav,
89
91
  getAppSettings: getAppSettings,
90
92
  latestMessageDatesByChannels: latestMessageDatesByChannels,
@@ -92,6 +94,7 @@ export var useChat = function (_a) {
92
94
  navOpen: navOpen,
93
95
  openMobileNav: openMobileNav,
94
96
  setActiveChannel: setActiveChannel,
97
+ setChannels: setChannels,
95
98
  translators: translators,
96
99
  };
97
100
  };
@@ -1 +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,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,oBAAoB,yKA4DhC,CAAC"}
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,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,oBAAoB,yKAkEhC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { useMemo } from 'react';
2
2
  export var useCreateChatContext = function (value) {
3
3
  var _a;
4
- var channel = value.channel, channelsQueryState = value.channelsQueryState, client = value.client, closeMobileNav = value.closeMobileNav, customClasses = value.customClasses, getAppSettings = value.getAppSettings, latestMessageDatesByChannels = value.latestMessageDatesByChannels, mutes = value.mutes, navOpen = value.navOpen, openMobileNav = value.openMobileNav, setActiveChannel = value.setActiveChannel, theme = value.theme, themeVersion = value.themeVersion, useImageFlagEmojisOnWindows = value.useImageFlagEmojisOnWindows;
4
+ var channel = value.channel, channels = value.channels, channelsQueryState = value.channelsQueryState, client = value.client, closeMobileNav = value.closeMobileNav, customClasses = value.customClasses, getAppSettings = value.getAppSettings, latestMessageDatesByChannels = value.latestMessageDatesByChannels, mutes = value.mutes, navOpen = value.navOpen, openMobileNav = value.openMobileNav, setActiveChannel = value.setActiveChannel, setChannels = value.setChannels, theme = value.theme, themeVersion = value.themeVersion, useImageFlagEmojisOnWindows = value.useImageFlagEmojisOnWindows;
5
5
  var channelCid = channel === null || channel === void 0 ? void 0 : channel.cid;
6
6
  var channelsQueryError = channelsQueryState.error;
7
7
  var channelsQueryInProgress = channelsQueryState.queryInProgress;
@@ -9,6 +9,7 @@ export var useCreateChatContext = function (value) {
9
9
  var mutedUsersLength = mutes.length;
10
10
  var chatContext = useMemo(function () { return ({
11
11
  channel: channel,
12
+ channels: channels,
12
13
  channelsQueryState: channelsQueryState,
13
14
  client: client,
14
15
  closeMobileNav: closeMobileNav,
@@ -19,6 +20,7 @@ export var useCreateChatContext = function (value) {
19
20
  navOpen: navOpen,
20
21
  openMobileNav: openMobileNav,
21
22
  setActiveChannel: setActiveChannel,
23
+ setChannels: setChannels,
22
24
  theme: theme,
23
25
  themeVersion: themeVersion,
24
26
  useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
@@ -26,10 +28,12 @@ export var useCreateChatContext = function (value) {
26
28
  channelCid,
27
29
  channelsQueryError,
28
30
  channelsQueryInProgress,
31
+ channels,
29
32
  clientValues,
30
33
  getAppSettings,
31
34
  mutedUsersLength,
32
35
  navOpen,
36
+ setChannels,
33
37
  ]);
34
38
  return chatContext;
35
39
  };
@@ -1,5 +1,7 @@
1
1
  export { MentionProps } from './Mention';
2
- export { emojiMarkdownPlugin, mentionsMarkdownPlugin } from './rehypePlugins';
3
2
  export { escapeRegExp, matchMarkdownLinks, messageCodeBlocks } from './regex';
3
+ export * from './rehypePlugins';
4
+ export * from './remarkPlugins';
4
5
  export * from './renderText';
6
+ export { HNode } from './types';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9E,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1,3 +1,4 @@
1
- export { emojiMarkdownPlugin, mentionsMarkdownPlugin } from './rehypePlugins';
2
1
  export { escapeRegExp, matchMarkdownLinks, messageCodeBlocks } from './regex';
2
+ export * from './rehypePlugins';
3
+ export * from './remarkPlugins';
3
4
  export * from './renderText';
@@ -0,0 +1,3 @@
1
+ import type { HNode } from '../types';
2
+ export declare const emojiMarkdownPlugin: () => (node: HNode) => import("hast-util-find-and-replace/lib").Node;
3
+ //# sourceMappingURL=emojiMarkdownPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojiMarkdownPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,mBAAmB,eAIL,KAAK,kDAG/B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { findAndReplace } from 'hast-util-find-and-replace';
2
+ import { u } from 'unist-builder';
3
+ import emojiRegex from 'emoji-regex';
4
+ export var emojiMarkdownPlugin = function () {
5
+ var replace = function (match) {
6
+ return u('element', { tagName: 'emoji' }, [u('text', match)]);
7
+ };
8
+ var transform = function (node) { return findAndReplace(node, emojiRegex(), replace); };
9
+ return transform;
10
+ };
@@ -0,0 +1,3 @@
1
+ export * from './emojiMarkdownPlugin';
2
+ export * from './mentionsMarkdownPlugin';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/rehypePlugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './emojiMarkdownPlugin';
2
+ export * from './mentionsMarkdownPlugin';
@@ -0,0 +1,5 @@
1
+ import { DefaultStreamChatGenerics } from '../../../../types/types';
2
+ import { UserResponse } from 'stream-chat';
3
+ import type { HNode } from '../types';
4
+ export declare const mentionsMarkdownPlugin: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(mentioned_users: UserResponse<StreamChatGenerics>[]) => () => (tree: HNode) => HNode;
5
+ //# sourceMappingURL=mentionsMarkdownPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentionsMarkdownPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,sBAAsB,0JAuBR,KAAK,KAAG,KAoClC,CAAC"}
@@ -1,8 +1,7 @@
1
+ import { escapeRegExp } from '../regex';
1
2
  import { findAndReplace } from 'hast-util-find-and-replace';
2
3
  import { u } from 'unist-builder';
3
4
  import { visit } from 'unist-util-visit';
4
- import emojiRegex from 'emoji-regex';
5
- import { escapeRegExp } from './regex';
6
5
  export var mentionsMarkdownPlugin = function (mentioned_users) { return function () {
7
6
  var mentioned_usernames = mentioned_users
8
7
  .map(function (user) { return user.name || user.id; })
@@ -51,10 +50,3 @@ export var mentionsMarkdownPlugin = function (mentioned_users) { return function
51
50
  };
52
51
  return transform;
53
52
  }; };
54
- export var emojiMarkdownPlugin = function () {
55
- var replace = function (match) {
56
- return u('element', { tagName: 'emoji' }, [u('text', match)]);
57
- };
58
- var transform = function (node) { return findAndReplace(node, emojiRegex(), replace); };
59
- return transform;
60
- };
@@ -0,0 +1,3 @@
1
+ import type { HNode } from '../types';
2
+ export declare const htmlToTextPlugin: () => (tree: HNode) => void;
3
+ //# sourceMappingURL=htmlToTextPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlToTextPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/htmlToTextPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAWtC,eAAO,MAAM,gBAAgB,eAJJ,KAAK,SAIiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { visit } from 'unist-util-visit';
2
+ var visitor = function (node) {
3
+ if (node.type !== 'html')
4
+ return;
5
+ node.type = 'text';
6
+ };
7
+ var transform = function (tree) {
8
+ visit(tree, visitor);
9
+ };
10
+ export var htmlToTextPlugin = function () { return transform; };
@@ -0,0 +1,3 @@
1
+ export * from './htmlToTextPlugin';
2
+ export * from './keepLineBreaksPlugin';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './htmlToTextPlugin';
2
+ export * from './keepLineBreaksPlugin';
@@ -0,0 +1,3 @@
1
+ import type { HNode } from '../types';
2
+ export declare const keepLineBreaksPlugin: () => (tree: HNode) => void;
3
+ //# sourceMappingURL=keepLineBreaksPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keepLineBreaksPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAmCtC,eAAO,MAAM,oBAAoB,eAJR,KAAK,SAIqB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { visit } from 'unist-util-visit';
3
+ import { u } from 'unist-builder';
4
+ var visitor = function (node, index, parent) {
5
+ if (index === null || index === 0)
6
+ return;
7
+ if (!parent)
8
+ return;
9
+ if (!node.position)
10
+ return;
11
+ var prevSibling = parent.children.at(index - 1);
12
+ if (!(prevSibling === null || prevSibling === void 0 ? void 0 : prevSibling.position))
13
+ return;
14
+ if (node.position.start.line === prevSibling.position.start.line)
15
+ return false;
16
+ var ownStartLine = node.position.start.line;
17
+ var prevEndLine = prevSibling.position.end.line;
18
+ // the -1 is adjustment for the single line break into which multiple line breaks are converted
19
+ var countTruncatedLineBreaks = ownStartLine - prevEndLine - 1;
20
+ if (countTruncatedLineBreaks < 1)
21
+ return;
22
+ var lineBreaks = Array.from({ length: countTruncatedLineBreaks }, function () {
23
+ return u('break', { tagName: 'br' });
24
+ });
25
+ // @ts-ignore
26
+ parent.children = __spreadArray(__spreadArray(__spreadArray([], parent.children.slice(0, index), true), lineBreaks, true), parent.children.slice(index), true);
27
+ return;
28
+ };
29
+ var transform = function (tree) {
30
+ visit(tree, visitor);
31
+ };
32
+ export var keepLineBreaksPlugin = function () { return transform; };
@@ -0,0 +1,3 @@
1
+ import { Content, Root } from 'hast';
2
+ export declare type HNode = Content | Root;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,oBAAY,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EACL,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAMhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA0MnE,aAAK,qBAAqB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,GACnC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,YAAY,CAAC;AAEjB,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG;IAC3E,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAClD,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC9C,aAAa,EAAE,OAAO,KACnB,UAAU,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iIAAiI;IACjI,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qIAAqI;IACrI,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mLAAmL;IACnL,2BAA2B,CAAC,EAAE,mBAAmB,CAAC;IAClD,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4LAA4L;IAC5L,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,6LAA6L;IAC7L,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yKAAyK;IACzK,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gJA2BvB,CAAC"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EACL,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAS5C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAMhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA0MnE,aAAK,qBAAqB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,GACnC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,YAAY,CAAC;AAEjB,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG;IAC3E,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAClD,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC9C,aAAa,EAAE,OAAO,KACnB,UAAU,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iIAAiI;IACjI,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qIAAqI;IACrI,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mLAAmL;IACnL,2BAA2B,CAAC,EAAE,mBAAmB,CAAC;IAClD,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4LAA4L;IAC5L,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,6LAA6L;IAC7L,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yKAAyK;IACzK,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gJA2BvB,CAAC"}
@@ -7,6 +7,7 @@ import { useChannelActionContext, } from '../../context/ChannelActionContext';
7
7
  import { useChannelStateContext, } from '../../context/ChannelStateContext';
8
8
  import { useChatContext } from '../../context/ChatContext';
9
9
  import { useComponentContext } from '../../context/ComponentContext';
10
+ import { MessageListContextProvider } from '../../context/MessageListContext';
10
11
  import { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyStateIndicator';
11
12
  import { InfiniteScroll } from '../InfiniteScrollPaginator/InfiniteScroll';
12
13
  import { LoadingIndicator as DefaultLoadingIndicator } from '../Loading';
@@ -110,7 +111,7 @@ var MessageListWithContext = function (props) {
110
111
  }
111
112
  }, [highlightedMessageId]);
112
113
  var showEmptyStateIndicator = elements.length === 0 && !threadList;
113
- return (React.createElement(React.Fragment, null,
114
+ return (React.createElement(MessageListContextProvider, { value: { listElement: listElement, scrollToBottom: scrollToBottom } },
114
115
  React.createElement(MessageListMainPanel, null,
115
116
  React.createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React.createElement(EmptyStateIndicator, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React.createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React.createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React.createElement(LoadingIndicator, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore }, props.internalInfiniteScrollProps, { threshold: loadMoreScrollThreshold }),
116
117
  React.createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
@@ -1,4 +1,4 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import React, { Dispatch, PropsWithChildren, SetStateAction } from 'react';
2
2
  import type { AppSettingsAPIResponse, Channel, Mute } from 'stream-chat';
3
3
  import type { ChatProps } from '../components/Chat/Chat';
4
4
  import type { DefaultStreamChatGenerics, UnknownType } from '../types/types';
@@ -8,19 +8,46 @@ export declare type CustomClasses = Partial<Record<CSSClasses, string>>;
8
8
  declare type ChannelCID = string;
9
9
  export declare type ThemeVersion = '1' | '2';
10
10
  export declare type ChatContextValue<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
11
+ /**
12
+ * State representing the array of loaded channels.
13
+ * Channels query is executed by default only by ChannelList component in the SDK.
14
+ */
15
+ channels: Channel<StreamChatGenerics>[];
16
+ /**
17
+ * Indicates, whether a channels query has been triggered within ChannelList by its channels pagination controller.
18
+ */
11
19
  channelsQueryState: ChannelsQueryState;
12
20
  closeMobileNav: () => void;
13
21
  getAppSettings: () => Promise<AppSettingsAPIResponse<StreamChatGenerics>> | null;
14
22
  latestMessageDatesByChannels: Record<ChannelCID, Date>;
15
23
  mutes: Array<Mute<StreamChatGenerics>>;
16
24
  openMobileNav: () => void;
25
+ /**
26
+ * Sets active channel to be rendered within Channel component.
27
+ * @param newChannel
28
+ * @param watchers
29
+ * @param event
30
+ */
17
31
  setActiveChannel: (newChannel?: Channel<StreamChatGenerics>, watchers?: {
18
32
  limit?: number;
19
33
  offset?: number;
20
34
  }, event?: React.BaseSyntheticEvent) => void;
35
+ /**
36
+ * Sets the list of Channel objects to be rendered by ChannelList component.
37
+ */
38
+ setChannels: Dispatch<SetStateAction<Channel<StreamChatGenerics>[]>>;
39
+ /**
40
+ * Allows to opt out of the use of legacy CSS (version "1") and opt into the use of the latest SDK's CSS (version "2").
41
+ */
21
42
  themeVersion: ThemeVersion;
22
43
  useImageFlagEmojisOnWindows: boolean;
44
+ /**
45
+ * Active channel used to render the contents of the Channel component.
46
+ */
23
47
  channel?: Channel<StreamChatGenerics>;
48
+ /**
49
+ * Object through which custom classes can be set for main container components of the SDK.
50
+ */
24
51
  customClasses?: CustomClasses;
25
52
  navOpen?: boolean;
26
53
  } & Required<Pick<ChatProps<StreamChatGenerics>, 'theme' | 'client'>>;
@@ -35,7 +62,7 @@ export declare const useChatContext: <StreamChatGenerics extends DefaultStreamCh
35
62
  * wrapped component must be provided as the first generic.
36
63
  */
37
64
  export declare const withChatContext: <P extends UnknownType, StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(Component: React.ComponentType<P>) => {
38
- (props: Omit<P, "channel" | "client" | "mutes" | "navOpen" | "latestMessageDatesByChannels" | "theme" | "channelsQueryState" | "closeMobileNav" | "customClasses" | "getAppSettings" | "openMobileNav" | "setActiveChannel" | "themeVersion" | "useImageFlagEmojisOnWindows">): JSX.Element;
65
+ (props: Omit<P, "channel" | "client" | "mutes" | "channels" | "setChannels" | "navOpen" | "latestMessageDatesByChannels" | "theme" | "channelsQueryState" | "closeMobileNav" | "customClasses" | "getAppSettings" | "openMobileNav" | "setActiveChannel" | "themeVersion" | "useImageFlagEmojisOnWindows">): JSX.Element;
39
66
  displayName: string;
40
67
  };
41
68
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,aAAK,UAAU,GACX,MAAM,GACN,eAAe,GACf,SAAS,GACT,aAAa,GACb,SAAS,GACT,aAAa,GACb,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB,wBAAwB,CAAC;AAE7B,oBAAY,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE,aAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,oBAAY,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC;AAErC,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC;IACjF,4BAA4B,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,CAChB,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACxC,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAC7B,IAAI,CAAC;IACV,YAAY,EAAE,YAAY,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;AAEtE,eAAO,MAAM,WAAW,wEAA+D,CAAC;AAExF,eAAO,MAAM,YAAY;;kBAWxB,CAAC;AAEF,eAAO,MAAM,cAAc,qGAGT,MAAM,yCAavB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;CAa3B,CAAC"}
1
+ {"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAc,MAAM,OAAO,CAAC;AAEvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,aAAK,UAAU,GACX,MAAM,GACN,eAAe,GACf,SAAS,GACT,aAAa,GACb,SAAS,GACT,aAAa,GACb,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB,wBAAwB,CAAC;AAE7B,oBAAY,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE,aAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,oBAAY,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC;AAErC,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACxC;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC;IACjF,4BAA4B,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,EAAE,CAChB,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACxC,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAC7B,IAAI,CAAC;IACV;;OAEG;IACH,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;AAEtE,eAAO,MAAM,WAAW,wEAA+D,CAAC;AAExF,eAAO,MAAM,YAAY;;kBAWxB,CAAC;AAEF,eAAO,MAAM,cAAc,qGAGT,MAAM,yCAavB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;CAa3B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ export declare type MessageListContextValue = {
3
+ /** The scroll container within which the messages and typing indicator are rendered */
4
+ listElement: HTMLDivElement | null;
5
+ /** Function that scrolls the `listElement` to the bottom. */
6
+ scrollToBottom: () => void;
7
+ };
8
+ export declare const MessageListContext: React.Context<MessageListContextValue | undefined>;
9
+ /**
10
+ * Context provider for components rendered within the `MessageList`
11
+ */
12
+ export declare const MessageListContextProvider: ({ children, value, }: React.PropsWithChildren<{
13
+ value: MessageListContextValue;
14
+ }>) => JSX.Element;
15
+ export declare const useMessageListContext: (componentName?: string) => MessageListContextValue;
16
+ //# sourceMappingURL=MessageListContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageListContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageListContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE5E,oBAAY,uBAAuB,GAAG;IACpC,uFAAuF;IACvF,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,6DAA6D;IAC7D,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,oDAAgE,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,0BAA0B;WAI9B,uBAAuB;kBAK/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,mBAAoB,MAAM,4BAY3D,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ export var MessageListContext = createContext(undefined);
3
+ /**
4
+ * Context provider for components rendered within the `MessageList`
5
+ */
6
+ export var MessageListContextProvider = function (_a) {
7
+ var children = _a.children, value = _a.value;
8
+ return (React.createElement(MessageListContext.Provider, { value: value }, children));
9
+ };
10
+ export var useMessageListContext = function (componentName) {
11
+ var contextValue = useContext(MessageListContext);
12
+ if (!contextValue) {
13
+ console.warn("The useMessageListContext hook was called outside of the MessageListContext provider. Make sure this hook is called within the MessageList component. The errored call is located in the ".concat(componentName, " component."));
14
+ return {};
15
+ }
16
+ return contextValue;
17
+ };
@@ -5,6 +5,7 @@ export * from './ComponentContext';
5
5
  export * from './EmojiContext';
6
6
  export * from './MessageContext';
7
7
  export * from './MessageInputContext';
8
+ export * from './MessageListContext';
8
9
  export * from './TranslationContext';
9
10
  export * from './TypingContext';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -5,5 +5,6 @@ export * from './ComponentContext';
5
5
  export * from './EmojiContext';
6
6
  export * from './MessageContext';
7
7
  export * from './MessageInputContext';
8
+ export * from './MessageListContext';
8
9
  export * from './TranslationContext';
9
10
  export * from './TypingContext';