stream-chat-react 10.0.0-theming-v2.3 → 10.0.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 (57) hide show
  1. package/dist/browser.full-bundle.js +216 -202
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +3 -3
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Attachment/AttachmentActions.d.ts.map +1 -1
  6. package/dist/components/Attachment/AttachmentActions.js +1 -1
  7. package/dist/components/Attachment/AttachmentContainer.js +2 -2
  8. package/dist/components/Channel/Channel.d.ts.map +1 -1
  9. package/dist/components/Channel/Channel.js +6 -1
  10. package/dist/components/ChannelList/ChannelList.d.ts +3 -9
  11. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  12. package/dist/components/ChannelList/ChannelList.js +24 -26
  13. package/dist/components/ChannelSearch/ChannelSearch.d.ts +6 -3
  14. package/dist/components/ChannelSearch/ChannelSearch.d.ts.map +1 -1
  15. package/dist/components/ChannelSearch/ChannelSearch.js +19 -2
  16. package/dist/components/ChannelSearch/SearchBar.js +1 -1
  17. package/dist/components/ChannelSearch/SearchInput.d.ts +3 -1
  18. package/dist/components/ChannelSearch/SearchInput.d.ts.map +1 -1
  19. package/dist/components/ChannelSearch/SearchInput.js +2 -2
  20. package/dist/components/ChannelSearch/SearchResults.js +1 -2
  21. package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +9 -7
  22. package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts.map +1 -1
  23. package/dist/components/ChannelSearch/hooks/useChannelSearch.js +23 -29
  24. package/dist/components/MessageActions/MessageActionsBox.js +1 -1
  25. package/dist/components/MessageInput/CooldownTimer.d.ts +7 -0
  26. package/dist/components/MessageInput/CooldownTimer.d.ts.map +1 -0
  27. package/dist/components/MessageInput/CooldownTimer.js +17 -0
  28. package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
  29. package/dist/components/MessageInput/MessageInputFlat.js +1 -1
  30. package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
  31. package/dist/components/MessageInput/MessageInputSmall.js +1 -1
  32. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +0 -5
  33. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
  34. package/dist/components/MessageInput/hooks/useCooldownTimer.js +1 -17
  35. package/dist/components/MessageInput/index.d.ts +1 -0
  36. package/dist/components/MessageInput/index.d.ts.map +1 -1
  37. package/dist/components/MessageInput/index.js +1 -0
  38. package/dist/context/ChannelStateContext.d.ts +1 -1
  39. package/dist/context/ComponentContext.d.ts +1 -1
  40. package/dist/context/ComponentContext.d.ts.map +1 -1
  41. package/dist/css/index.css +1 -1
  42. package/dist/css/index.css.map +1 -1
  43. package/dist/css/v2/index.css +1 -1
  44. package/dist/css/v2/index.css.map +1 -1
  45. package/dist/css/v2/index.layout.css +1 -1
  46. package/dist/css/v2/index.layout.css.map +1 -1
  47. package/dist/index.cjs.js +214 -200
  48. package/dist/index.cjs.js.map +1 -1
  49. package/dist/scss/Attachment.scss +45 -2
  50. package/dist/scss/Gallery.scss +12 -6
  51. package/dist/scss/Message.scss +2 -1
  52. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +72 -46
  53. package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +2 -0
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.d.ts.map +1 -1
  56. package/dist/version.js +1 -1
  57. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentActions.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/AttachmentActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,UAAU,CAAC,kBAAkB,CAAC,GAAG;IACnC,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+HAA+H;IAC/H,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAmCF;;GAEG;AACH,eAAO,MAAM,iBAAiB,sJAES,CAAC"}
1
+ {"version":3,"file":"AttachmentActions.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/AttachmentActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,UAAU,CAAC,kBAAkB,CAAC,GAAG;IACnC,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+HAA+H;IAC/H,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAmCF;;GAEG;AACH,eAAO,MAAM,iBAAiB,sJAES,CAAC"}
@@ -4,7 +4,7 @@ var UnMemoizedAttachmentActions = function (props) {
4
4
  var handleActionClick = function (event, name, value) { return actionHandler === null || actionHandler === void 0 ? void 0 : actionHandler(name, value, event); };
5
5
  return (React.createElement("div", { className: 'str-chat__message-attachment-actions' },
6
6
  React.createElement("div", { className: 'str-chat__message-attachment-actions-form' },
7
- React.createElement("span", { key: 0 }, text),
7
+ React.createElement("span", null, text),
8
8
  actions.map(function (action) { return (React.createElement("button", { className: "str-chat__message-attachment-actions-button str-chat__message-attachment-actions-button--".concat(action.style), "data-testid": "".concat(action.name), "data-value": action.value, key: "".concat(id, "-").concat(action.value), onClick: function (event) { return handleActionClick(event, action.name, action.value); } }, action.text)); }))));
9
9
  };
10
10
  /**
@@ -46,7 +46,7 @@ export var AttachmentActionsContainer = function (_a) {
46
46
  var actionHandler = _a.actionHandler, attachment = _a.attachment, _c = _a.AttachmentActions, AttachmentActions = _c === void 0 ? DefaultAttachmentActions : _c;
47
47
  if (!((_b = attachment.actions) === null || _b === void 0 ? void 0 : _b.length))
48
48
  return null;
49
- return (React.createElement(AttachmentActions, __assign({}, attachment, { actionHandler: function (event, name, value) { return actionHandler === null || actionHandler === void 0 ? void 0 : actionHandler(event, name, value); }, actions: attachment.actions, id: attachment.id || '', text: attachment.text || '' })));
49
+ return (React.createElement(AttachmentActions, __assign({}, attachment, { actionHandler: actionHandler, actions: attachment.actions, id: attachment.id || '', text: attachment.text || '' })));
50
50
  };
51
51
  export var GalleryContainer = function (_a) {
52
52
  var attachment = _a.attachment, _b = _a.Gallery, Gallery = _b === void 0 ? DefaultGallery : _b;
@@ -70,7 +70,7 @@ export var CardContainer = function (props) {
70
70
  var componentType = 'card';
71
71
  if (attachment.actions && attachment.actions.length) {
72
72
  return (React.createElement(AttachmentWithinContainer, { attachment: attachment, componentType: componentType },
73
- React.createElement("div", { className: 'str-chat__attachment', key: "key-image-".concat(attachment.id) },
73
+ React.createElement("div", { className: 'str-chat__attachment' },
74
74
  React.createElement(Card, __assign({}, attachment)),
75
75
  React.createElement(AttachmentActionsContainer, __assign({}, props)))));
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
@@ -362,6 +362,7 @@ var ChannelInner = function (props) {
362
362
  });
363
363
  });
364
364
  };
365
+ var clearHighlightedMessageTimeoutId = useRef(null);
365
366
  var jumpToMessage = function (messageId, messageLimit) {
366
367
  if (messageLimit === void 0) { messageLimit = 100; }
367
368
  return __awaiter(void 0, void 0, void 0, function () {
@@ -381,7 +382,11 @@ var ChannelInner = function (props) {
381
382
  highlightedMessageId: messageId,
382
383
  type: 'jumpToMessageFinished',
383
384
  });
384
- setTimeout(function () {
385
+ if (clearHighlightedMessageTimeoutId.current) {
386
+ clearTimeout(clearHighlightedMessageTimeoutId.current);
387
+ }
388
+ clearHighlightedMessageTimeoutId.current = setTimeout(function () {
389
+ clearHighlightedMessageTimeoutId.current = null;
385
390
  dispatch({ type: 'clearHighlightedMessage' });
386
391
  }, 500);
387
392
  return [2 /*return*/];
@@ -2,9 +2,7 @@ import React from 'react';
2
2
  import { ChannelListMessengerProps } from './ChannelListMessenger';
3
3
  import { AvatarProps } from '../Avatar/Avatar';
4
4
  import { ChannelPreviewUIComponentProps } from '../ChannelPreview/ChannelPreview';
5
- import { AdditionalChannelSearchProps, ChannelSearchProps } from '../ChannelSearch/ChannelSearch';
6
- import { ChannelSearchParams } from '../ChannelSearch/hooks/useChannelSearch';
7
- import { AdditionalSearchBarProps, SearchBarProps } from '../ChannelSearch/SearchBar';
5
+ import { ChannelSearchProps } from '../ChannelSearch/ChannelSearch';
8
6
  import { ChatDownProps } from '../ChatDown/ChatDown';
9
7
  import { EmptyStateIndicatorProps } from '../EmptyStateIndicator';
10
8
  import { LoadMorePaginatorProps } from '../LoadMore/LoadMorePaginator';
@@ -12,7 +10,7 @@ import type { Channel, ChannelFilters, ChannelOptions, ChannelSort, Event } from
12
10
  import type { DefaultStreamChatGenerics, PaginatorProps } from '../../types/types';
13
11
  export declare type ChannelListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
14
12
  /** Additional props for underlying ChannelSearch component and channel search controller, [available props](https://getstream.io/chat/docs/sdk/react/utility-components/channel_search/#props) */
15
- additionalChannelSearchProps?: AdditionalChannelSearchProps<StreamChatGenerics> & AdditionalSearchBarProps & ChannelSearchParams<StreamChatGenerics>;
13
+ additionalChannelSearchProps?: Omit<ChannelSearchProps<StreamChatGenerics>, 'setChannels'>;
16
14
  /**
17
15
  * When the client receives `message.new`, `notification.message_new`, and `notification.added_to_channel` events, we automatically
18
16
  * push that channel to the top of the list. If the channel doesn't currently exist in the list, we grab the channel from
@@ -24,9 +22,7 @@ export declare type ChannelListProps<StreamChatGenerics extends DefaultStreamCha
24
22
  Avatar?: React.ComponentType<AvatarProps>;
25
23
  /** Optional function to filter channels prior to loading in the DOM. Do not use any complex or async logic that would delay the loading of the ChannelList. We recommend using a pure function with array methods like filter/sort/reduce. */
26
24
  channelRenderFilterFn?: (channels: Array<Channel<StreamChatGenerics>>) => Array<Channel<StreamChatGenerics>>;
27
- /** @deprecated: in the future only SearchBar and SearchResults props will be available
28
- * Custom UI component to display search results, defaults to and accepts same props as: [ChannelSearch](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelSearch/ChannelSearch.tsx)
29
- */
25
+ /** Custom UI component to display search results, defaults to and accepts same props as: [ChannelSearch](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelSearch/ChannelSearch.tsx) */
30
26
  ChannelSearch?: React.ComponentType<ChannelSearchProps<StreamChatGenerics>>;
31
27
  /** Set a channel (with this ID) to active and manually move it to the top of the list */
32
28
  customActiveChannel?: string;
@@ -66,8 +62,6 @@ export declare type ChannelListProps<StreamChatGenerics extends DefaultStreamCha
66
62
  Preview?: React.ComponentType<ChannelPreviewUIComponentProps<StreamChatGenerics>>;
67
63
  /** Function to override the default behavior when rendering channels, so this function is called instead of rendering the Preview directly */
68
64
  renderChannels?: (channels: Channel<StreamChatGenerics>[], channelPreview: (item: Channel<StreamChatGenerics>) => React.ReactNode) => React.ReactNode;
69
- /** Custom UI component to display the search bar with text input */
70
- SearchBar?: React.ComponentType<SearchBarProps>;
71
65
  /** If true, sends the list's currently loaded channels to the `List` component as the `loadedChannels` prop */
72
66
  sendChannelsToList?: boolean;
73
67
  /** Last channel will be set as active channel if true, defaults to true */
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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"}
@@ -45,18 +45,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- var __rest = (this && this.__rest) || function (s, e) {
49
- var t = {};
50
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
- t[p] = s[p];
52
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
- t[p[i]] = s[p[i]];
56
- }
57
- return t;
58
- };
59
- import React, { useEffect, useRef, useState } from 'react';
48
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
60
49
  import clsx from 'clsx';
61
50
  import { ChannelListMessenger } from './ChannelListMessenger';
62
51
  import { useChannelDeletedListener } from './hooks/useChannelDeletedListener';
@@ -76,9 +65,6 @@ import { MAX_QUERY_CHANNELS_LIMIT, moveChannelUp } from './utils';
76
65
  import { Avatar as DefaultAvatar } from '../Avatar/Avatar';
77
66
  import { ChannelPreview } from '../ChannelPreview/ChannelPreview';
78
67
  import { ChannelSearch as DefaultChannelSearch, } from '../ChannelSearch/ChannelSearch';
79
- import { useChannelSearch } from '../ChannelSearch/hooks/useChannelSearch';
80
- import { SearchBar as DefaultSearchBar, } from '../ChannelSearch/SearchBar';
81
- import { SearchResults } from '../ChannelSearch/SearchResults';
82
68
  import { ChatDown } from '../ChatDown/ChatDown';
83
69
  import { EmptyStateIndicator as DefaultEmptyStateIndicator, } from '../EmptyStateIndicator';
84
70
  import { LoadingChannels } from '../Loading/LoadingChannels';
@@ -88,11 +74,11 @@ var DEFAULT_FILTERS = {};
88
74
  var DEFAULT_OPTIONS = {};
89
75
  var DEFAULT_SORT = {};
90
76
  var UnMemoizedChannelList = function (props) {
91
- var additionalChannelSearchProps = props.additionalChannelSearchProps, _a = props.Avatar, Avatar = _a === void 0 ? DefaultAvatar : _a, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _b = props.ChannelSearch, ChannelSearch = _b === void 0 ? DefaultChannelSearch : _b, customActiveChannel = props.customActiveChannel, _c = props.EmptyStateIndicator, EmptyStateIndicator = _c === void 0 ? DefaultEmptyStateIndicator : _c, filters = props.filters, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? ChatDown : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? LoadingChannels : _e, _f = props.List, List = _f === void 0 ? ChannelListMessenger : _f, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _g = props.Paginator, Paginator = _g === void 0 ? LoadMorePaginator : _g, Preview = props.Preview, renderChannels = props.renderChannels, _h = props.SearchBar, SearchBar = _h === void 0 ? DefaultSearchBar : _h, _j = props.sendChannelsToList, sendChannelsToList = _j === void 0 ? false : _j, _k = props.setActiveChannelOnMount, setActiveChannelOnMount = _k === void 0 ? true : _k, _l = props.showChannelSearch, showChannelSearch = _l === void 0 ? false : _l, _m = props.sort, sort = _m === void 0 ? DEFAULT_SORT : _m, _o = props.watchers, watchers = _o === void 0 ? {} : _o;
92
- var _p = additionalChannelSearchProps || {}, AppMenu = _p.AppMenu, ClearInputIcon = _p.ClearInputIcon, ExitSearchIcon = _p.ExitSearchIcon, MenuIcon = _p.MenuIcon, placeholder = _p.placeholder, popupResults = _p.popupResults, SearchEmpty = _p.SearchEmpty, SearchInput = _p.SearchInput, SearchInputIcon = _p.SearchInputIcon, SearchLoading = _p.SearchLoading, SearchResultItem = _p.SearchResultItem, SearchResultsHeader = _p.SearchResultsHeader, SearchResultsList = _p.SearchResultsList, channelSearchParams = __rest(_p, ["AppMenu", "ClearInputIcon", "ExitSearchIcon", "MenuIcon", "placeholder", "popupResults", "SearchEmpty", "SearchInput", "SearchInputIcon", "SearchLoading", "SearchResultItem", "SearchResultsHeader", "SearchResultsList"]);
93
- var _q = useChatContext('ChannelList'), channel = _q.channel, channelsQueryState = _q.channelsQueryState, client = _q.client, closeMobileNav = _q.closeMobileNav, customClasses = _q.customClasses, _r = _q.navOpen, navOpen = _r === void 0 ? false : _r, setActiveChannel = _q.setActiveChannel, theme = _q.theme, themeVersion = _q.themeVersion, useImageFlagEmojisOnWindows = _q.useImageFlagEmojisOnWindows;
77
+ var additionalChannelSearchProps = props.additionalChannelSearchProps, _a = props.Avatar, Avatar = _a === void 0 ? DefaultAvatar : _a, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _b = props.ChannelSearch, ChannelSearch = _b === void 0 ? DefaultChannelSearch : _b, customActiveChannel = props.customActiveChannel, _c = props.EmptyStateIndicator, EmptyStateIndicator = _c === void 0 ? DefaultEmptyStateIndicator : _c, filters = props.filters, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? ChatDown : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? LoadingChannels : _e, _f = props.List, List = _f === void 0 ? ChannelListMessenger : _f, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _g = props.Paginator, Paginator = _g === void 0 ? LoadMorePaginator : _g, Preview = props.Preview, renderChannels = props.renderChannels, _h = props.sendChannelsToList, sendChannelsToList = _h === void 0 ? false : _h, _j = props.setActiveChannelOnMount, setActiveChannelOnMount = _j === void 0 ? true : _j, _k = props.showChannelSearch, showChannelSearch = _k === void 0 ? false : _k, _l = props.sort, sort = _l === void 0 ? DEFAULT_SORT : _l, _m = props.watchers, watchers = _m === void 0 ? {} : _m;
78
+ var _o = useChatContext('ChannelList'), channel = _o.channel, channelsQueryState = _o.channelsQueryState, client = _o.client, closeMobileNav = _o.closeMobileNav, customClasses = _o.customClasses, _p = _o.navOpen, navOpen = _p === void 0 ? false : _p, setActiveChannel = _o.setActiveChannel, theme = _o.theme, useImageFlagEmojisOnWindows = _o.useImageFlagEmojisOnWindows;
94
79
  var channelListRef = useRef(null);
95
- var _s = useState(0), channelUpdateCount = _s[0], setChannelUpdateCount = _s[1];
80
+ var _q = useState(0), channelUpdateCount = _q[0], setChannelUpdateCount = _q[1];
81
+ var _r = useState(false), searchActive = _r[0], setSearchActive = _r[1];
96
82
  /**
97
83
  * Set a channel with id {customActiveChannel} as active and move it to the top of the list.
98
84
  * If customActiveChannel prop is absent, then set the first channel in list as active channel.
@@ -137,9 +123,22 @@ var UnMemoizedChannelList = function (props) {
137
123
  * force a re-render. Incrementing this dummy variable ensures the channel previews update.
138
124
  */
139
125
  var forceUpdate = function () { return setChannelUpdateCount(function (count) { return count + 1; }); };
140
- var _t = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler), channels = _t.channels, hasNextPage = _t.hasNextPage, loadNextPage = _t.loadNextPage, setChannels = _t.setChannels;
141
- var channelSearchController = useChannelSearch(__assign({ enabled: showChannelSearch, setChannels: setChannels }, channelSearchParams));
142
- var activateSearch = channelSearchController.activateSearch, clearState = channelSearchController.clearState, exitSearch = channelSearchController.exitSearch, inputIsFocused = channelSearchController.inputIsFocused, inputRef = channelSearchController.inputRef, onSearch = channelSearchController.onSearch, query = channelSearchController.query, results = channelSearchController.results, searchBarRef = channelSearchController.searchBarRef, searching = channelSearchController.searching, selectResult = channelSearchController.selectResult;
126
+ var onSearch = useCallback(function (event) {
127
+ var _a;
128
+ if (!event.target.value) {
129
+ setSearchActive(false);
130
+ }
131
+ else {
132
+ setSearchActive(true);
133
+ }
134
+ (_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearch) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps, event);
135
+ }, []);
136
+ var onSearchExit = useCallback(function () {
137
+ var _a;
138
+ setSearchActive(false);
139
+ (_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearchExit) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps);
140
+ }, []);
141
+ var _s = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler), channels = _s.channels, hasNextPage = _s.hasNextPage, loadNextPage = _s.loadNextPage, setChannels = _s.setChannels;
143
142
  var loadedChannels = channelRenderFilterFn ? channelRenderFilterFn(channels) : channels;
144
143
  useMobileNavigation(channelListRef, navOpen, closeMobileNav);
145
144
  useMessageNewListener(setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels);
@@ -184,12 +183,11 @@ var UnMemoizedChannelList = function (props) {
184
183
  'str-chat--windows-flags': useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/),
185
184
  'str-chat-channel-list--open': navOpen,
186
185
  });
187
- var showSearchV2 = themeVersion === '2' && !popupResults;
186
+ var showChannelList = !searchActive || (additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.popupResults);
188
187
  return (React.createElement(React.Fragment, null,
189
188
  React.createElement("div", { className: className, ref: channelListRef },
190
- showChannelSearch &&
191
- (showSearchV2 ? (React.createElement(SearchBar, { activateSearch: activateSearch, AppMenu: AppMenu, ClearInputIcon: ClearInputIcon, clearState: clearState, exitSearch: exitSearch, ExitSearchIcon: ExitSearchIcon, inputIsFocused: inputIsFocused, inputRef: inputRef, MenuIcon: MenuIcon, onSearch: onSearch, placeholder: placeholder, query: query, searchBarRef: searchBarRef, SearchInputIcon: SearchInputIcon })) : (React.createElement(ChannelSearch, __assign({ placeholder: placeholder, popupResults: popupResults, SearchEmpty: SearchEmpty, SearchInput: SearchInput, SearchLoading: SearchLoading, SearchResultItem: SearchResultItem, SearchResultsHeader: SearchResultsHeader, SearchResultsList: SearchResultsList }, channelSearchController)))),
192
- query && showSearchV2 ? (React.createElement(SearchResults, { results: results, SearchEmpty: SearchEmpty, searching: searching, SearchLoading: SearchLoading, SearchResultItem: SearchResultItem, SearchResultsHeader: SearchResultsHeader, SearchResultsList: SearchResultsList, selectResult: selectResult })) : (React.createElement(List, { error: channelsQueryState.error, loadedChannels: sendChannelsToList ? loadedChannels : undefined, loading: channelsQueryState.queryInProgress === 'reload', LoadingErrorIndicator: LoadingErrorIndicator, LoadingIndicator: LoadingIndicator, setChannels: setChannels }, !(loadedChannels === null || loadedChannels === void 0 ? void 0 : loadedChannels.length) ? (React.createElement(EmptyStateIndicator, { listType: 'channel' })) : (React.createElement(Paginator, { hasNextPage: hasNextPage, loadNextPage: loadNextPage, refreshing: channelsQueryState.queryInProgress === 'load-more' }, renderChannels
189
+ showChannelSearch && (React.createElement(ChannelSearch, __assign({ onSearch: onSearch, onSearchExit: onSearchExit, setChannels: setChannels }, additionalChannelSearchProps))),
190
+ showChannelList && (React.createElement(List, { error: channelsQueryState.error, loadedChannels: sendChannelsToList ? loadedChannels : undefined, loading: channelsQueryState.queryInProgress === 'reload', LoadingErrorIndicator: LoadingErrorIndicator, LoadingIndicator: LoadingIndicator, setChannels: setChannels }, !(loadedChannels === null || loadedChannels === void 0 ? void 0 : loadedChannels.length) ? (React.createElement(EmptyStateIndicator, { listType: 'channel' })) : (React.createElement(Paginator, { hasNextPage: hasNextPage, loadNextPage: loadNextPage, refreshing: channelsQueryState.queryInProgress === 'load-more' }, renderChannels
193
191
  ? renderChannels(loadedChannels, renderChannel)
194
192
  : loadedChannels.map(function (channel) { return renderChannel(channel); }))))))));
195
193
  };
@@ -1,13 +1,16 @@
1
1
  import React from 'react';
2
+ import { ChannelSearchControllerParams } from './hooks/useChannelSearch';
2
3
  import { AdditionalSearchInputProps, SearchInputProps } from './SearchInput';
3
4
  import { AdditionalSearchResultsProps } from './SearchResults';
4
5
  import type { DefaultStreamChatGenerics } from '../../types/types';
5
- import type { SearchController } from './hooks/useChannelSearch';
6
- export declare type AdditionalChannelSearchProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = AdditionalSearchInputProps & AdditionalSearchResultsProps<StreamChatGenerics> & {
6
+ import type { AdditionalSearchBarProps, SearchBarProps } from './SearchBar';
7
+ export declare type AdditionalChannelSearchProps = {
8
+ /** Custom UI component to display the search bar with text input */
9
+ SearchBar?: React.ComponentType<SearchBarProps>;
7
10
  /** Custom UI component to display the search text input */
8
11
  SearchInput?: React.ComponentType<SearchInputProps>;
9
12
  };
10
- export declare type ChannelSearchProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = AdditionalChannelSearchProps<StreamChatGenerics> & SearchController<StreamChatGenerics>;
13
+ export declare type ChannelSearchProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = AdditionalSearchBarProps & AdditionalSearchInputProps & AdditionalSearchResultsProps<StreamChatGenerics> & AdditionalChannelSearchProps & ChannelSearchControllerParams<StreamChatGenerics>;
11
14
  /**
12
15
  * The ChannelSearch component makes a query users call and displays the results in a list.
13
16
  * Clicking on a list item will navigate you into a channel with the selected user. It can be used
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelSearch.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/ChannelSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,0BAA0B,EAE1B,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAiB,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,oBAAY,4BAA4B,CACtC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,0BAA0B,GAC5B,4BAA4B,CAAC,kBAAkB,CAAC,GAAG;IACjD,2DAA2D;IAC3D,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;CACrD,CAAC;AAEJ,oBAAY,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,4BAA4B,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAmD5F;;;;GAIG;AACH,eAAO,MAAM,aAAa,kJAAwE,CAAC"}
1
+ {"version":3,"file":"ChannelSearch.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/ChannelSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,6BAA6B,EAAoB,MAAM,0BAA0B,CAAC;AAG3F,OAAO,EACL,0BAA0B,EAE1B,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAiB,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5E,oBAAY,4BAA4B,GAAG;IACzC,oEAAoE;IACpE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAChD,2DAA2D;IAC3D,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;CACrD,CAAC;AAEF,oBAAY,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,wBAAwB,GAC1B,0BAA0B,GAC1B,4BAA4B,CAAC,kBAAkB,CAAC,GAChD,4BAA4B,GAC5B,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;AA0FpD;;;;GAIG;AACH,eAAO,MAAM,aAAa,kJAAwE,CAAC"}
@@ -1,10 +1,27 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import React from 'react';
13
+ import { useChatContext } from '../../context/ChatContext';
14
+ import { useChannelSearch } from './hooks/useChannelSearch';
15
+ import { SearchBar as DefaultSearchBar } from './SearchBar';
2
16
  import { SearchInput as DefaultSearchInput, } from './SearchInput';
3
17
  import { SearchResults } from './SearchResults';
4
18
  var UnMemoizedChannelSearch = function (props) {
5
- var clearState = props.clearState, SearchResultsList = props.SearchResultsList, inputRef = props.inputRef, onSearch = props.onSearch, placeholder = props.placeholder, _a = props.popupResults, popupResults = _a === void 0 ? false : _a, query = props.query, results = props.results, SearchEmpty = props.SearchEmpty, searching = props.searching, _b = props.SearchInput, SearchInput = _b === void 0 ? DefaultSearchInput : _b, SearchLoading = props.SearchLoading, SearchResultItem = props.SearchResultItem, SearchResultsHeader = props.SearchResultsHeader, selectResult = props.selectResult;
19
+ var AppMenu = props.AppMenu, ClearInputIcon = props.ClearInputIcon, ExitSearchIcon = props.ExitSearchIcon, MenuIcon = props.MenuIcon, placeholder = props.placeholder, _a = props.popupResults, popupResults = _a === void 0 ? false : _a, _b = props.SearchBar, SearchBar = _b === void 0 ? DefaultSearchBar : _b, SearchEmpty = props.SearchEmpty, _c = props.SearchInput, SearchInput = _c === void 0 ? DefaultSearchInput : _c, SearchLoading = props.SearchLoading, SearchInputIcon = props.SearchInputIcon, SearchResultItem = props.SearchResultItem, SearchResultsList = props.SearchResultsList, SearchResultsHeader = props.SearchResultsHeader, channelSearchParams = __rest(props, ["AppMenu", "ClearInputIcon", "ExitSearchIcon", "MenuIcon", "placeholder", "popupResults", "SearchBar", "SearchEmpty", "SearchInput", "SearchLoading", "SearchInputIcon", "SearchResultItem", "SearchResultsList", "SearchResultsHeader"]);
20
+ var themeVersion = useChatContext('ChannelSearch').themeVersion;
21
+ var _d = useChannelSearch(channelSearchParams), activateSearch = _d.activateSearch, clearState = _d.clearState, exitSearch = _d.exitSearch, inputIsFocused = _d.inputIsFocused, inputRef = _d.inputRef, onSearch = _d.onSearch, query = _d.query, results = _d.results, searchBarRef = _d.searchBarRef, searching = _d.searching, selectResult = _d.selectResult;
22
+ var showSearchBarV2 = themeVersion === '2';
6
23
  return (React.createElement("div", { className: 'str-chat__channel-search', "data-testid": 'channel-search' },
7
- React.createElement(SearchInput, { clearState: clearState, inputRef: inputRef, onSearch: onSearch, placeholder: placeholder, query: query }),
24
+ showSearchBarV2 ? (React.createElement(SearchBar, { activateSearch: activateSearch, AppMenu: AppMenu, ClearInputIcon: ClearInputIcon, clearState: clearState, disabled: channelSearchParams.disabled, exitSearch: exitSearch, ExitSearchIcon: ExitSearchIcon, inputIsFocused: inputIsFocused, inputRef: inputRef, MenuIcon: MenuIcon, onSearch: onSearch, placeholder: placeholder, query: query, searchBarRef: searchBarRef, SearchInput: SearchInput, SearchInputIcon: SearchInputIcon })) : (React.createElement(SearchInput, { clearState: clearState, disabled: channelSearchParams.disabled, inputRef: inputRef, onSearch: onSearch, placeholder: placeholder, query: query })),
8
25
  query && (React.createElement(SearchResults, { popupResults: popupResults, results: results, SearchEmpty: SearchEmpty, searching: searching, SearchLoading: SearchLoading, SearchResultItem: SearchResultItem, SearchResultsHeader: SearchResultsHeader, SearchResultsList: SearchResultsList, selectResult: selectResult }))));
9
26
  };
10
27
  /**
@@ -75,7 +75,7 @@ export var SearchBar = function (props) {
75
75
  }, []);
76
76
  var handleClearClick = useCallback(function () {
77
77
  var _a;
78
- inputProps.clearState();
78
+ exitSearch();
79
79
  (_a = inputProps.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
80
80
  }, []);
81
81
  return (React.createElement("div", { className: 'str-chat__channel-search-bar', "data-testid": 'search-bar', ref: searchBarRef },
@@ -4,11 +4,13 @@ export declare type SearchInputController = {
4
4
  clearState: () => void;
5
5
  inputRef: React.RefObject<HTMLInputElement>;
6
6
  /** Search input change handler */
7
- onSearch: (event: React.BaseSyntheticEvent) => void;
7
+ onSearch: React.ChangeEventHandler<HTMLInputElement>;
8
8
  /** Current search string */
9
9
  query: string;
10
10
  };
11
11
  export declare type AdditionalSearchInputProps = {
12
+ /** Sets the input element into disabled state */
13
+ disabled?: boolean;
12
14
  /** Custom placeholder text to be displayed in the search input */
13
15
  placeholder?: string;
14
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,oBAAY,qBAAqB,GAAG;IAClC,sCAAsC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACpD,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,0BAA0B,GAAG,qBAAqB,CAAC;AAElF,eAAO,MAAM,WAAW,UAAW,gBAAgB,gBAgBlD,CAAC"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,oBAAY,qBAAqB,GAAG;IAClC,sCAAsC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,kCAAkC;IAClC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrD,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,0BAA0B,GAAG,qBAAqB,CAAC;AAElF,eAAO,MAAM,WAAW,UAAW,gBAAgB,gBAiBlD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useTranslationContext } from '../../context/TranslationContext';
3
3
  export var SearchInput = function (props) {
4
- var inputRef = props.inputRef, onSearch = props.onSearch, placeholder = props.placeholder, query = props.query;
4
+ var disabled = props.disabled, inputRef = props.inputRef, onSearch = props.onSearch, placeholder = props.placeholder, query = props.query;
5
5
  var t = useTranslationContext('SearchInput').t;
6
- return (React.createElement("input", { className: 'str-chat__channel-search-input', "data-testid": 'search-input', onChange: onSearch, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t('Search'), ref: inputRef, type: 'text', value: query }));
6
+ return (React.createElement("input", { className: 'str-chat__channel-search-input', "data-testid": 'search-input', disabled: disabled, onChange: onSearch, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t('Search'), ref: inputRef, type: 'text', value: query }));
7
7
  };
@@ -42,8 +42,7 @@ var DefaultSearchResultItem = function (props) {
42
42
  };
43
43
  var ResultsContainer = function (_a) {
44
44
  var children = _a.children, popupResults = _a.popupResults;
45
- var containerStyle = popupResults ? 'popup' : 'inline';
46
- return (React.createElement("div", { "aria-label": 'Channel search results', className: "str-chat__channel-search-container str-chat__channel-search-result-list ".concat(containerStyle) }, children));
45
+ return (React.createElement("div", { "aria-label": 'Channel search results', className: clsx("str-chat__channel-search-container str-chat__channel-search-result-list", popupResults ? 'popup' : 'inline') }, children));
47
46
  };
48
47
  export var SearchResults = function (props) {
49
48
  var popupResults = props.popupResults, results = props.results, searching = props.searching, _a = props.SearchEmpty, SearchEmpty = _a === void 0 ? DefaultSearchEmpty : _a, _b = props.SearchResultsHeader, SearchResultsHeader = _b === void 0 ? DefaultSearchResultsHeader : _b, SearchLoading = props.SearchLoading, _c = props.SearchResultItem, SearchResultItem = _c === void 0 ? DefaultSearchResultItem : _c, _d = props.SearchResultsList, SearchResultsList = _d === void 0 ? DefaultSearchResultsList : _d, selectResult = props.selectResult;
@@ -9,7 +9,6 @@ import type { DefaultStreamChatGenerics } from '../../../types/types';
9
9
  export declare type ChannelSearchFunctionParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
10
10
  setQuery: React.Dispatch<React.SetStateAction<string>>;
11
11
  setResults: React.Dispatch<React.SetStateAction<ChannelOrUserResponse<StreamChatGenerics>[]>>;
12
- setResultsOpen: React.Dispatch<React.SetStateAction<boolean>>;
13
12
  setSearching: React.Dispatch<React.SetStateAction<boolean>>;
14
13
  };
15
14
  export declare type SearchController<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = SearchInputController & SearchBarController & SearchResultsController<StreamChatGenerics>;
@@ -30,21 +29,24 @@ export declare type ChannelSearchParams<StreamChatGenerics extends DefaultStream
30
29
  channelType?: string;
31
30
  /** Clear search state / results on every click outside the search input, defaults to true */
32
31
  clearSearchOnClickOutside?: boolean;
33
- /** Search can be enabled, defaults to false */
34
- enabled?: boolean;
32
+ /** Disables execution of the search queries, defaults to false */
33
+ disabled?: boolean;
34
+ /** Callback invoked with every search input change handler */
35
+ onSearch?: SearchInputController['onSearch'];
36
+ /** Callback invoked when the search UI is deactivated */
37
+ onSearchExit?: () => void;
35
38
  /** Custom handler function to run on search result item selection */
36
39
  onSelectResult?: (params: ChannelSearchFunctionParams<StreamChatGenerics>, result: ChannelOrUserResponse<StreamChatGenerics>) => Promise<void> | void;
37
40
  /** Boolean to search for channels as well as users in the server query, default is false and just searches for users */
38
41
  searchForChannels?: boolean;
39
42
  /** Custom search function to override the default implementation */
40
43
  searchFunction?: (params: ChannelSearchFunctionParams<StreamChatGenerics>, event: React.BaseSyntheticEvent) => Promise<void> | void;
41
- /** Object containing filters/sort/options overrides for user search */
44
+ /** Object containing filters/sort/options overrides for user / channel search */
42
45
  searchQueryParams?: SearchQueryParams<StreamChatGenerics>;
43
46
  };
44
- declare type ChannelSearchControllerParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = ChannelSearchParams<StreamChatGenerics> & {
47
+ export declare type ChannelSearchControllerParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = ChannelSearchParams<StreamChatGenerics> & {
45
48
  /** Set the array of channels displayed in the ChannelList */
46
49
  setChannels: React.Dispatch<React.SetStateAction<Array<Channel<StreamChatGenerics>>>>;
47
50
  };
48
- export declare const useChannelSearch: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelType, clearSearchOnClickOutside, enabled, onSelectResult, searchForChannels, searchFunction, searchQueryParams, setChannels, }: ChannelSearchControllerParams<StreamChatGenerics>) => SearchController<StreamChatGenerics>;
49
- export {};
51
+ export declare const useChannelSearch: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelType, clearSearchOnClickOutside, disabled, onSearch: onSearchCallback, onSearchExit, onSelectResult, searchForChannels, searchFunction, searchQueryParams, setChannels, }: ChannelSearchControllerParams<StreamChatGenerics>) => SearchController<StreamChatGenerics>;
50
52
  //# sourceMappingURL=useChannelSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChannelSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelSearch/hooks/useChannelSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChannelSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelSearch/hooks/useChannelSearch.ts"],"names":[],"mappings":"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"}
@@ -54,38 +54,37 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
54
  }
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
- import { useEffect, useRef, useState } from 'react';
57
+ import { useCallback, useEffect, useRef, useState } from 'react';
58
58
  import throttle from 'lodash.throttle';
59
59
  import uniqBy from 'lodash.uniqby';
60
60
  import { isChannel } from '../utils';
61
61
  import { useChatContext } from '../../../context/ChatContext';
62
62
  export var useChannelSearch = function (_a) {
63
- var _b = _a.channelType, channelType = _b === void 0 ? 'messaging' : _b, _c = _a.clearSearchOnClickOutside, clearSearchOnClickOutside = _c === void 0 ? true : _c, _d = _a.enabled, enabled = _d === void 0 ? false : _d, onSelectResult = _a.onSelectResult, _e = _a.searchForChannels, searchForChannels = _e === void 0 ? false : _e, searchFunction = _a.searchFunction, searchQueryParams = _a.searchQueryParams, setChannels = _a.setChannels;
63
+ var _b = _a.channelType, channelType = _b === void 0 ? 'messaging' : _b, _c = _a.clearSearchOnClickOutside, clearSearchOnClickOutside = _c === void 0 ? true : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, onSearchCallback = _a.onSearch, onSearchExit = _a.onSearchExit, onSelectResult = _a.onSelectResult, _e = _a.searchForChannels, searchForChannels = _e === void 0 ? false : _e, searchFunction = _a.searchFunction, searchQueryParams = _a.searchQueryParams, setChannels = _a.setChannels;
64
64
  var _f = useChatContext('useChannelSearch'), client = _f.client, navOpen = _f.navOpen, setActiveChannel = _f.setActiveChannel, themeVersion = _f.themeVersion;
65
65
  var _g = useState(false), inputIsFocused = _g[0], setInputIsFocused = _g[1];
66
66
  var _h = useState(''), query = _h[0], setQuery = _h[1];
67
67
  var _j = useState([]), results = _j[0], setResults = _j[1];
68
- var _k = useState(false), resultsOpen = _k[0], setResultsOpen = _k[1];
69
- var _l = useState(false), searching = _l[0], setSearching = _l[1];
68
+ var _k = useState(false), searching = _k[0], setSearching = _k[1];
70
69
  var inputRef = useRef(null);
71
70
  var searchBarRef = useRef(null);
72
- var clearState = function () {
71
+ var clearState = useCallback(function () {
73
72
  setQuery('');
74
73
  setResults([]);
75
- setResultsOpen(false);
76
74
  setSearching(false);
77
- };
78
- var activateSearch = function () {
75
+ }, []);
76
+ var activateSearch = useCallback(function () {
79
77
  setInputIsFocused(true);
80
- };
81
- var exitSearch = function () {
78
+ }, []);
79
+ var exitSearch = useCallback(function () {
82
80
  var _a;
83
81
  setInputIsFocused(false);
84
82
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
85
83
  clearState();
86
- };
84
+ onSearchExit === null || onSearchExit === void 0 ? void 0 : onSearchExit();
85
+ }, [clearState, onSearchExit]);
87
86
  useEffect(function () {
88
- if (!enabled)
87
+ if (disabled)
89
88
  return;
90
89
  var clickListener = function (event) {
91
90
  var _a, _b;
@@ -96,17 +95,15 @@ export var useChannelSearch = function (_a) {
96
95
  : (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target);
97
96
  if (isInputClick)
98
97
  return;
99
- if ((navOpen && inputIsFocused) ||
100
- (resultsOpen && clearSearchOnClickOutside) ||
101
- (inputIsFocused && !query)) {
98
+ if ((inputIsFocused && (!query || navOpen)) || clearSearchOnClickOutside) {
102
99
  exitSearch();
103
100
  }
104
101
  };
105
102
  document.addEventListener('click', clickListener);
106
103
  return function () { return document.removeEventListener('click', clickListener); };
107
- }, [enabled, inputIsFocused, resultsOpen]);
104
+ }, [disabled, inputIsFocused]);
108
105
  useEffect(function () {
109
- if (!(inputRef.current && enabled))
106
+ if (!inputRef.current || disabled)
110
107
  return;
111
108
  var handleKeyDown = function (event) {
112
109
  if (event.key === 'Escape')
@@ -118,7 +115,7 @@ export var useChannelSearch = function (_a) {
118
115
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', handleKeyDown);
119
116
  };
120
117
  }, []);
121
- var selectResult = function (result) { return __awaiter(void 0, void 0, void 0, function () {
118
+ var selectResult = useCallback(function (result) { return __awaiter(void 0, void 0, void 0, function () {
122
119
  var selectedChannel, newChannel;
123
120
  return __generator(this, function (_a) {
124
121
  switch (_a.label) {
@@ -129,7 +126,6 @@ export var useChannelSearch = function (_a) {
129
126
  return [4 /*yield*/, onSelectResult({
130
127
  setQuery: setQuery,
131
128
  setResults: setResults,
132
- setResultsOpen: setResultsOpen,
133
129
  setSearching: setSearching,
134
130
  }, result)];
135
131
  case 1:
@@ -151,13 +147,13 @@ export var useChannelSearch = function (_a) {
151
147
  case 5:
152
148
  setChannels(function (channels) { return uniqBy(__spreadArray([selectedChannel], channels, true), 'cid'); });
153
149
  if (clearSearchOnClickOutside) {
154
- clearState();
150
+ exitSearch();
155
151
  }
156
152
  return [2 /*return*/];
157
153
  }
158
154
  });
159
- }); };
160
- var getChannels = function (text) { return __awaiter(void 0, void 0, void 0, function () {
155
+ }); }, [clearSearchOnClickOutside, client, exitSearch, onSelectResult]);
156
+ var getChannels = useCallback(function (text) { return __awaiter(void 0, void 0, void 0, function () {
161
157
  var userResponse, channelResponse, _a, channels, users_1, users, error_1;
162
158
  var _b, _c, _d, _e, _f, _g;
163
159
  return __generator(this, function (_h) {
@@ -178,14 +174,12 @@ export var useChannelSearch = function (_a) {
178
174
  case 3:
179
175
  _a = _h.sent(), channels = _a[0], users_1 = _a[1].users;
180
176
  setResults(__spreadArray(__spreadArray([], channels, true), users_1, true));
181
- setResultsOpen(true);
182
177
  setSearching(false);
183
178
  return [2 /*return*/];
184
179
  case 4: return [4 /*yield*/, Promise.resolve(userResponse)];
185
180
  case 5:
186
181
  users = (_h.sent()).users;
187
182
  setResults(users);
188
- setResultsOpen(true);
189
183
  return [3 /*break*/, 7];
190
184
  case 6:
191
185
  error_1 = _h.sent();
@@ -197,17 +191,16 @@ export var useChannelSearch = function (_a) {
197
191
  return [2 /*return*/];
198
192
  }
199
193
  });
200
- }); };
194
+ }); }, [client, searching]);
201
195
  var getChannelsThrottled = throttle(getChannels, 200);
202
- var onSearch = function (event) {
196
+ var onSearch = useCallback(function (event) {
203
197
  event.preventDefault();
204
- if (!enabled)
198
+ if (disabled)
205
199
  return;
206
200
  if (searchFunction) {
207
201
  searchFunction({
208
202
  setQuery: setQuery,
209
203
  setResults: setResults,
210
- setResultsOpen: setResultsOpen,
211
204
  setSearching: setSearching,
212
205
  }, event);
213
206
  }
@@ -215,7 +208,8 @@ export var useChannelSearch = function (_a) {
215
208
  setQuery(event.target.value);
216
209
  getChannelsThrottled(event.target.value);
217
210
  }
218
- };
211
+ onSearchCallback === null || onSearchCallback === void 0 ? void 0 : onSearchCallback(event);
212
+ }, [disabled, getChannelsThrottled, searchFunction]);
219
213
  return {
220
214
  activateSearch: activateSearch,
221
215
  clearState: clearState,
@@ -9,7 +9,7 @@ var CustomMessageActionsList = function (props) {
9
9
  var customActionsArray = Object.keys(customMessageActions);
10
10
  return (React.createElement(React.Fragment, null, customActionsArray.map(function (customAction) {
11
11
  var customHandler = customMessageActions[customAction];
12
- return (React.createElement("button", { "aria-selected": 'false', className: 'str-chat__message-actions-list-item', key: customAction, onClick: function (event) { return customHandler(message, event); }, role: 'option' }, customAction));
12
+ return (React.createElement("button", { "aria-selected": 'false', className: 'str-chat__message-actions-list-item str-chat__message-actions-list-item-button', key: customAction, onClick: function (event) { return customHandler(message, event); }, role: 'option' }, customAction));
13
13
  })));
14
14
  };
15
15
  var UnMemoizedMessageActionsBox = function (props) {
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare type CooldownTimerProps = {
3
+ cooldownInterval: number;
4
+ setCooldownRemaining: React.Dispatch<React.SetStateAction<number | undefined>>;
5
+ };
6
+ export declare const CooldownTimer: ({ cooldownInterval, setCooldownRemaining }: CooldownTimerProps) => JSX.Element;
7
+ //# sourceMappingURL=CooldownTimer.d.ts.map