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.
- package/dist/browser.full-bundle.js +21 -19
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +5 -5
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/ChannelSearch/ChannelSearch.d.ts.map +1 -1
- package/dist/components/ChannelSearch/ChannelSearch.js +5 -2
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +3 -3
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +14 -15
- package/dist/css/index.css +1 -1
- package/dist/css/index.css.map +1 -1
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.css.map +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/css/v2/index.layout.css.map +1 -1
- package/dist/index.cjs.js +20 -18
- package/dist/index.cjs.js.map +1 -1
- package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +27 -0
- package/dist/scss/v2/MessageList/MessageList-layout.scss +4 -0
- package/dist/scss/v2/vendor/react-image-gallery.scss +8 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelSearch.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/ChannelSearch.tsx"],"names":[],"mappings":"
|
|
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
|
|
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',
|
|
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,
|
|
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 &&
|
|
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,
|
|
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;
|
|
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
|
|
12
|
-
import { useChannelStateContext } from '../../../context/ChannelStateContext';
|
|
11
|
+
import { useChannelStateContext, useChatContext } from '../../../context';
|
|
13
12
|
export var useCooldownTimer = function () {
|
|
14
13
|
var _a;
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
34
|
+
cooldownInterval: cooldownInterval,
|
|
36
35
|
cooldownRemaining: cooldownRemaining,
|
|
37
36
|
setCooldownRemaining: setCooldownRemaining,
|
|
38
37
|
};
|