stream-chat-react 10.8.4 → 10.8.6

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":"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
+ {"version":3,"file":"ChannelSearch.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/ChannelSearch.tsx"],"names":[],"mappings":"AACA,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;AA+FpD;;;;GAIG;AACH,eAAO,MAAM,aAAa,kJAAwE,CAAC"}
@@ -9,8 +9,9 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
+ import clsx from 'clsx';
12
13
  import React from 'react';
13
- import { useChatContext } from '../../context/ChatContext';
14
+ import { useChatContext } from '../../context';
14
15
  import { useChannelSearch } from './hooks/useChannelSearch';
15
16
  import { SearchBar as DefaultSearchBar } from './SearchBar';
16
17
  import { SearchInput as DefaultSearchInput, } from './SearchInput';
@@ -20,7 +21,9 @@ var UnMemoizedChannelSearch = function (props) {
20
21
  var themeVersion = useChatContext('ChannelSearch').themeVersion;
21
22
  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
23
  var showSearchBarV2 = themeVersion === '2';
23
- return (React.createElement("div", { className: 'str-chat__channel-search', "data-testid": 'channel-search' },
24
+ return (React.createElement("div", { className: clsx('str-chat__channel-search', popupResults ? 'popup' : 'inline', {
25
+ 'str-chat__channel-search--with-results': results.length > 0,
26
+ }), "data-testid": 'channel-search' },
24
27
  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 })),
25
28
  query && (React.createElement(SearchResults, { popupResults: popupResults, results: results, SearchEmpty: SearchEmpty, searching: searching, SearchLoading: SearchLoading, SearchResultItem: SearchResultItem, SearchResultsHeader: SearchResultsHeader, SearchResultsList: SearchResultsList, selectResult: selectResult }))));
26
29
  };
@@ -61,7 +61,7 @@ import { isChannel } from '../utils';
61
61
  import { useChatContext } from '../../../context/ChatContext';
62
62
  export var useChannelSearch = function (_a) {
63
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
- var _f = useChatContext('useChannelSearch'), client = _f.client, navOpen = _f.navOpen, setActiveChannel = _f.setActiveChannel, themeVersion = _f.themeVersion;
64
+ var _f = useChatContext('useChannelSearch'), client = _f.client, 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];
@@ -95,13 +95,13 @@ export var useChannelSearch = function (_a) {
95
95
  : (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target);
96
96
  if (isInputClick)
97
97
  return;
98
- if ((inputIsFocused && (!query || navOpen)) || clearSearchOnClickOutside) {
98
+ if ((inputIsFocused && !query) || clearSearchOnClickOutside) {
99
99
  exitSearch();
100
100
  }
101
101
  };
102
102
  document.addEventListener('click', clickListener);
103
103
  return function () { return document.removeEventListener('click', clickListener); };
104
- }, [disabled, inputIsFocused, query, exitSearch, navOpen, clearSearchOnClickOutside]);
104
+ }, [disabled, inputIsFocused, query, exitSearch, clearSearchOnClickOutside]);
105
105
  useEffect(function () {
106
106
  if (!inputRef.current || disabled)
107
107
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAmCJ,CAAC"}
1
+ {"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAsCJ,CAAC"}
@@ -8,31 +8,30 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
8
8
  return to.concat(ar || Array.prototype.slice.call(from));
9
9
  };
10
10
  import { useEffect, useMemo, useState } from 'react';
11
- import { useChatContext } from '../../../context/ChatContext';
12
- import { useChannelStateContext } from '../../../context/ChannelStateContext';
11
+ import { useChannelStateContext, useChatContext } from '../../../context';
13
12
  export var useCooldownTimer = function () {
14
13
  var _a;
15
- var latestMessageDatesByChannels = useChatContext('useCooldownTimer').latestMessageDatesByChannels;
16
- var _b = useChannelStateContext('useCooldownTimer'), channel = _b.channel, _c = _b.messages, messages = _c === void 0 ? [] : _c;
17
- var client = useChatContext('useCooldownTimer').client;
18
- var _d = useState(), cooldownRemaining = _d[0], setCooldownRemaining = _d[1];
19
- var _e = (channel.data ||
20
- {}), cooldownInterval = _e.cooldown, own_capabilities = _e.own_capabilities;
21
- var skipCooldown = !(own_capabilities === null || own_capabilities === void 0 ? void 0 : own_capabilities.includes('slow-mode'));
14
+ var _b = useChatContext('useCooldownTimer'), client = _b.client, latestMessageDatesByChannels = _b.latestMessageDatesByChannels;
15
+ var _c = useChannelStateContext('useCooldownTimer'), channel = _c.channel, _d = _c.messages, messages = _d === void 0 ? [] : _d;
16
+ var _e = useState(), cooldownRemaining = _e[0], setCooldownRemaining = _e[1];
17
+ var _f = (channel.data ||
18
+ {}), _g = _f.cooldown, cooldownInterval = _g === void 0 ? 0 : _g, own_capabilities = _f.own_capabilities;
19
+ var skipCooldown = own_capabilities === null || own_capabilities === void 0 ? void 0 : own_capabilities.includes('skip-slow-mode');
22
20
  var ownLatestMessageDate = useMemo(function () {
23
21
  var _a, _b;
24
22
  return (_a = latestMessageDatesByChannels[channel.cid]) !== null && _a !== void 0 ? _a : (_b = __spreadArray([], messages, true).sort(function (a, b) { var _a, _b; return ((_a = b.created_at) === null || _a === void 0 ? void 0 : _a.getTime()) - ((_b = a.created_at) === null || _b === void 0 ? void 0 : _b.getTime()); })
25
23
  .find(function (v) { var _a, _b; return ((_a = v.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = client.user) === null || _b === void 0 ? void 0 : _b.id); })) === null || _b === void 0 ? void 0 : _b.created_at;
26
24
  }, [messages, (_a = client.user) === null || _a === void 0 ? void 0 : _a.id, latestMessageDatesByChannels, channel.cid]);
27
25
  useEffect(function () {
28
- if (skipCooldown || !cooldownInterval || !ownLatestMessageDate)
29
- return;
30
- var remainingCooldown = Math.round(cooldownInterval - (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000);
31
- if (remainingCooldown > 0)
32
- setCooldownRemaining(remainingCooldown);
26
+ var timeSinceOwnLastMessage = ownLatestMessageDate
27
+ ? (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000
28
+ : undefined;
29
+ setCooldownRemaining(!skipCooldown && timeSinceOwnLastMessage && cooldownInterval > timeSinceOwnLastMessage
30
+ ? Math.round(cooldownInterval - timeSinceOwnLastMessage)
31
+ : 0);
33
32
  }, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
34
33
  return {
35
- cooldownInterval: cooldownInterval !== null && cooldownInterval !== void 0 ? cooldownInterval : 0,
34
+ cooldownInterval: cooldownInterval,
36
35
  cooldownRemaining: cooldownRemaining,
37
36
  setCooldownRemaining: setCooldownRemaining,
38
37
  };