stream-chat-react 10.17.0 → 10.18.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.
@@ -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,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"}
package/dist/index.cjs.js CHANGED
@@ -34217,8 +34217,7 @@ var RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 5000;
34217
34217
  var MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 2000;
34218
34218
  var usePaginatedChannels = function (client, filters, sort, options, activeChannelHandler, recoveryThrottleIntervalMs) {
34219
34219
  if (recoveryThrottleIntervalMs === void 0) { recoveryThrottleIntervalMs = RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS; }
34220
- var _a = useChatContext('usePaginatedChannels').channelsQueryState, error = _a.error, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
34221
- var _b = React.useState([]), channels = _b[0], setChannels = _b[1];
34220
+ var _a = useChatContext('usePaginatedChannels'), channels = _a.channels, _b = _a.channelsQueryState, error = _b.error, setError = _b.setError, setQueryInProgress = _b.setQueryInProgress, setChannels = _a.setChannels;
34222
34221
  var _c = React.useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
34223
34222
  var lastRecoveryTimestamp = React.useRef();
34224
34223
  var recoveryThrottleInterval = recoveryThrottleIntervalMs < MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS
@@ -34298,6 +34297,7 @@ var usePaginatedChannels = function (client, filters, sort, options, activeChann
34298
34297
  React.useEffect(function () {
34299
34298
  queryChannels('reload');
34300
34299
  }, [filterString, sortString]);
34300
+ // FIXME: state refactor (breaking change) is needed - do not forward `channels` and `setChannel`
34301
34301
  return {
34302
34302
  channels: channels,
34303
34303
  hasNextPage: hasNextPage,
@@ -35052,7 +35052,7 @@ var UnMemoizedChannelList = function (props) {
35052
35052
  */
35053
35053
  var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
35054
35054
 
35055
- var version = '10.17.0';
35055
+ var version = '10.18.0';
35056
35056
 
35057
35057
  var useChat = function (_a) {
35058
35058
  var _b, _c;
@@ -35062,10 +35062,11 @@ var useChat = function (_a) {
35062
35062
  tDateTimeParser: defaultDateTimeParser,
35063
35063
  userLanguage: 'en',
35064
35064
  }), translators = _e[0], setTranslators = _e[1];
35065
- var _f = React.useState(), channel = _f[0], setChannel = _f[1];
35066
- var _g = React.useState([]), mutes = _g[0], setMutes = _g[1];
35067
- var _h = React.useState(initialNavOpen), navOpen = _h[0], setNavOpen = _h[1];
35068
- var _j = React.useState({}), latestMessageDatesByChannels = _j[0], setLatestMessageDatesByChannels = _j[1];
35065
+ var _f = React.useState([]), channels = _f[0], setChannels = _f[1];
35066
+ var _g = React.useState(), channel = _g[0], setChannel = _g[1];
35067
+ var _h = React.useState([]), mutes = _h[0], setMutes = _h[1];
35068
+ var _j = React.useState(initialNavOpen), navOpen = _j[0], setNavOpen = _j[1];
35069
+ var _k = React.useState({}), latestMessageDatesByChannels = _k[0], setLatestMessageDatesByChannels = _k[1];
35069
35070
  var clientMutes = ((_b = client.user) === null || _b === void 0 ? void 0 : _b.mutes) || [];
35070
35071
  var closeMobileNav = function () { return setNavOpen(false); };
35071
35072
  var openMobileNav = function () { return setTimeout(function () { return setNavOpen(true); }, 100); };
@@ -35136,6 +35137,7 @@ var useChat = function (_a) {
35136
35137
  }, [(_c = client.user) === null || _c === void 0 ? void 0 : _c.id]);
35137
35138
  return {
35138
35139
  channel: channel,
35140
+ channels: channels,
35139
35141
  closeMobileNav: closeMobileNav,
35140
35142
  getAppSettings: getAppSettings,
35141
35143
  latestMessageDatesByChannels: latestMessageDatesByChannels,
@@ -35143,13 +35145,14 @@ var useChat = function (_a) {
35143
35145
  navOpen: navOpen,
35144
35146
  openMobileNav: openMobileNav,
35145
35147
  setActiveChannel: setActiveChannel,
35148
+ setChannels: setChannels,
35146
35149
  translators: translators,
35147
35150
  };
35148
35151
  };
35149
35152
 
35150
35153
  var useCreateChatContext = function (value) {
35151
35154
  var _a;
35152
- 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;
35155
+ 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;
35153
35156
  var channelCid = channel === null || channel === void 0 ? void 0 : channel.cid;
35154
35157
  var channelsQueryError = channelsQueryState.error;
35155
35158
  var channelsQueryInProgress = channelsQueryState.queryInProgress;
@@ -35157,6 +35160,7 @@ var useCreateChatContext = function (value) {
35157
35160
  var mutedUsersLength = mutes.length;
35158
35161
  var chatContext = React.useMemo(function () { return ({
35159
35162
  channel: channel,
35163
+ channels: channels,
35160
35164
  channelsQueryState: channelsQueryState,
35161
35165
  client: client,
35162
35166
  closeMobileNav: closeMobileNav,
@@ -35167,6 +35171,7 @@ var useCreateChatContext = function (value) {
35167
35171
  navOpen: navOpen,
35168
35172
  openMobileNav: openMobileNav,
35169
35173
  setActiveChannel: setActiveChannel,
35174
+ setChannels: setChannels,
35170
35175
  theme: theme,
35171
35176
  themeVersion: themeVersion,
35172
35177
  useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
@@ -35174,10 +35179,12 @@ var useCreateChatContext = function (value) {
35174
35179
  channelCid,
35175
35180
  channelsQueryError,
35176
35181
  channelsQueryInProgress,
35182
+ channels,
35177
35183
  clientValues,
35178
35184
  getAppSettings,
35179
35185
  mutedUsersLength,
35180
35186
  navOpen,
35187
+ setChannels,
35181
35188
  ]);
35182
35189
  return chatContext;
35183
35190
  };
@@ -35236,7 +35243,7 @@ var useCustomStyles = function (customStyles) {
35236
35243
  */
35237
35244
  var Chat = function (props) {
35238
35245
  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;
35239
- 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;
35246
+ 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;
35240
35247
  var channelsQueryState = useChannelsQueryState();
35241
35248
  var themeVersion = typeof window !== 'undefined'
35242
35249
  ? (window
@@ -35247,6 +35254,7 @@ var Chat = function (props) {
35247
35254
  useCustomStyles(darkMode ? darkModeTheme : customStyles);
35248
35255
  var chatContextValue = useCreateChatContext({
35249
35256
  channel: channel,
35257
+ channels: channels,
35250
35258
  channelsQueryState: channelsQueryState,
35251
35259
  client: client,
35252
35260
  closeMobileNav: closeMobileNav,
@@ -35257,6 +35265,7 @@ var Chat = function (props) {
35257
35265
  navOpen: navOpen,
35258
35266
  openMobileNav: openMobileNav,
35259
35267
  setActiveChannel: setActiveChannel,
35268
+ setChannels: setChannels,
35260
35269
  theme: theme,
35261
35270
  themeVersion: themeVersion,
35262
35271
  useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,