stream-chat-react 10.2.0 → 10.3.1
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 +88 -29
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +2 -2
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +2 -2
- package/dist/components/ChannelList/ChannelListMessenger.js +2 -2
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +19 -4
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +28 -6
- package/dist/components/LoadMore/LoadMoreButton.d.ts +7 -2
- package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMoreButton.js +9 -4
- package/dist/components/LoadMore/LoadMorePaginator.d.ts +2 -7
- package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMorePaginator.js +8 -3
- package/dist/components/Message/hooks/useUserRole.d.ts +1 -1
- package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/components/Message/hooks/useUserRole.js +5 -5
- package/dist/components/MessageList/MessageList.js +1 -1
- package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/SimpleReactionsList.js +26 -6
- 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 +87 -28
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/scss/ChannelList.scss +14 -0
- package/dist/scss/ChannelSearch.scss +8 -8
- package/dist/scss/v2/ChannelList/ChannelList-layout.scss +14 -0
- package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +68 -51
- package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +48 -0
- package/dist/scss/v2/Tooltip/Tooltip-layout.scss +1 -1
- package/dist/types/types.d.ts +10 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/deprecationWarning.d.ts +2 -0
- package/dist/utils/deprecationWarning.d.ts.map +1 -0
- package/dist/utils/deprecationWarning.js +12 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
|
@@ -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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"}
|
|
@@ -180,7 +180,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
180
180
|
};
|
|
181
181
|
return React.createElement(ChannelPreview, __assign({}, previewProps));
|
|
182
182
|
};
|
|
183
|
-
var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list', {
|
|
183
|
+
var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list str-chat__channel-list-react', {
|
|
184
184
|
'str-chat--windows-flags': useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/),
|
|
185
185
|
'str-chat-channel-list--open': navOpen,
|
|
186
186
|
});
|
|
@@ -188,7 +188,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
188
188
|
return (React.createElement(React.Fragment, null,
|
|
189
189
|
React.createElement("div", { className: className, ref: channelListRef },
|
|
190
190
|
showChannelSearch && (React.createElement(ChannelSearch, __assign({ onSearch: onSearch, onSearchExit: onSearchExit, setChannels: setChannels }, additionalChannelSearchProps))),
|
|
191
|
-
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,
|
|
191
|
+
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, isLoading: channelsQueryState.queryInProgress === 'load-more', loadNextPage: loadNextPage }, renderChannels
|
|
192
192
|
? renderChannels(loadedChannels, renderChannel)
|
|
193
193
|
: loadedChannels.map(function (channel) { return renderChannel(channel); }))))))));
|
|
194
194
|
};
|
|
@@ -12,6 +12,6 @@ export var ChannelListMessenger = function (props) {
|
|
|
12
12
|
if (loading) {
|
|
13
13
|
return React.createElement(LoadingIndicator, null);
|
|
14
14
|
}
|
|
15
|
-
return (React.createElement("div", { className: 'str-chat__channel-list-messenger' },
|
|
16
|
-
React.createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main', role: 'listbox' }, children)));
|
|
15
|
+
return (React.createElement("div", { className: 'str-chat__channel-list-messenger str-chat__channel-list-messenger-react' },
|
|
16
|
+
React.createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main str-chat__channel-list-messenger-react__main', role: 'listbox' }, children)));
|
|
17
17
|
};
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
2
|
+
import type { PaginatorProps } from '../../types/types';
|
|
3
|
+
export declare type InfiniteScrollProps = PaginatorProps & {
|
|
3
4
|
className?: string;
|
|
4
5
|
element?: React.ElementType;
|
|
6
|
+
/**
|
|
7
|
+
* @desc Flag signalling whether more pages with older items can be loaded
|
|
8
|
+
* @deprecated Use hasPreviousPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
9
|
+
*/
|
|
5
10
|
hasMore?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* @desc Flag signalling whether more pages with newer items can be loaded
|
|
13
|
+
* @deprecated Use hasNextPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
14
|
+
*/
|
|
6
15
|
hasMoreNewer?: boolean;
|
|
7
|
-
/** Element to be rendered at the top of the thread message list. By default Message and ThreadStart components */
|
|
16
|
+
/** Element to be rendered at the top of the thread message list. By default, Message and ThreadStart components */
|
|
8
17
|
head?: React.ReactNode;
|
|
9
18
|
initialLoad?: boolean;
|
|
10
19
|
isLoading?: boolean;
|
|
11
20
|
listenToScroll?: (offset: number, reverseOffset: number, threshold: number) => void;
|
|
12
21
|
loader?: React.ReactNode;
|
|
13
|
-
|
|
22
|
+
/**
|
|
23
|
+
* @desc Function that loads previous page with older items
|
|
24
|
+
* @deprecated Use loadPreviousPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
25
|
+
*/
|
|
14
26
|
loadMore?: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* @desc Function that loads next page with newer items
|
|
29
|
+
* @deprecated Use loadNextPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
30
|
+
*/
|
|
15
31
|
loadMoreNewer?: () => void;
|
|
16
32
|
pageStart?: number;
|
|
17
|
-
threshold?: number;
|
|
18
33
|
useCapture?: boolean;
|
|
19
34
|
};
|
|
20
35
|
export declare const InfiniteScroll: (props: PropsWithChildren<InfiniteScrollProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfiniteScroll.d.ts","sourceRoot":"","sources":["../../../src/components/InfiniteScrollPaginator/InfiniteScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAkC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InfiniteScroll.d.ts","sourceRoot":"","sources":["../../../src/components/InfiniteScrollPaginator/InfiniteScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAkC,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD,oBAAY,mBAAmB,GAAG,cAAc,GAAG;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mHAAmH;IACnH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,kBAAkB,mBAAmB,CAAC,uEAuH3E,CAAC"}
|
|
@@ -21,6 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
21
21
|
return t;
|
|
22
22
|
};
|
|
23
23
|
import React, { useCallback, useEffect, useRef } from 'react';
|
|
24
|
+
import { deprecationAndReplacementWarning } from '../../utils/deprecationWarning';
|
|
24
25
|
/**
|
|
25
26
|
* Prevents Chrome hangups
|
|
26
27
|
* See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257
|
|
@@ -31,7 +32,11 @@ var mousewheelListener = function (event) {
|
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
export var InfiniteScroll = function (props) {
|
|
34
|
-
var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a,
|
|
35
|
+
var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, hasNextPage = props.hasNextPage, hasPreviousPage = props.hasPreviousPage, head = props.head, _b = props.initialLoad, initialLoad = _b === void 0 ? true : _b, isLoading = props.isLoading, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, loadNextPage = props.loadNextPage, loadPreviousPage = props.loadPreviousPage, _c = props.threshold, threshold = _c === void 0 ? 250 : _c, _d = props.useCapture, useCapture = _d === void 0 ? false : _d, elementProps = __rest(props, ["children", "element", "hasMore", "hasMoreNewer", "hasNextPage", "hasPreviousPage", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "loadNextPage", "loadPreviousPage", "threshold", "useCapture"]);
|
|
36
|
+
var loadNextPageFn = loadNextPage || loadMoreNewer;
|
|
37
|
+
var loadPreviousPageFn = loadPreviousPage || loadMore;
|
|
38
|
+
var hasNextPageFlag = hasNextPage || hasMoreNewer;
|
|
39
|
+
var hasPreviousPageFlag = hasPreviousPage || hasMore;
|
|
35
40
|
var scrollComponent = useRef();
|
|
36
41
|
var scrollListener = useCallback(function () {
|
|
37
42
|
var element = scrollComponent.current;
|
|
@@ -45,13 +50,30 @@ export var InfiniteScroll = function (props) {
|
|
|
45
50
|
if (listenToScroll) {
|
|
46
51
|
listenToScroll(offset, reverseOffset, threshold);
|
|
47
52
|
}
|
|
48
|
-
if (reverseOffset < Number(threshold) &&
|
|
49
|
-
|
|
53
|
+
if (reverseOffset < Number(threshold) &&
|
|
54
|
+
typeof loadPreviousPageFn === 'function' &&
|
|
55
|
+
hasPreviousPageFlag) {
|
|
56
|
+
loadPreviousPageFn();
|
|
50
57
|
}
|
|
51
|
-
if (offset < Number(threshold) && typeof
|
|
52
|
-
|
|
58
|
+
if (offset < Number(threshold) && typeof loadNextPageFn === 'function' && hasNextPageFlag) {
|
|
59
|
+
loadNextPageFn();
|
|
53
60
|
}
|
|
54
|
-
}, [
|
|
61
|
+
}, [
|
|
62
|
+
hasPreviousPageFlag,
|
|
63
|
+
hasNextPageFlag,
|
|
64
|
+
threshold,
|
|
65
|
+
listenToScroll,
|
|
66
|
+
loadPreviousPageFn,
|
|
67
|
+
loadNextPageFn,
|
|
68
|
+
]);
|
|
69
|
+
useEffect(function () {
|
|
70
|
+
deprecationAndReplacementWarning([
|
|
71
|
+
[{ hasMoreNewer: hasMoreNewer }, { hasNextPage: hasNextPage }],
|
|
72
|
+
[{ loadMoreNewer: loadMoreNewer }, { loadNextPage: loadNextPage }],
|
|
73
|
+
[{ hasMore: hasMore }, { hasPreviousPage: hasPreviousPage }],
|
|
74
|
+
[{ loadMore: loadMore }, { loadPreviousPage: loadPreviousPage }],
|
|
75
|
+
], 'InfiniteScroll');
|
|
76
|
+
}, []);
|
|
55
77
|
useEffect(function () {
|
|
56
78
|
var _a;
|
|
57
79
|
var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
|
|
@@ -2,8 +2,13 @@ import React, { PropsWithChildren } from 'react';
|
|
|
2
2
|
export declare type LoadMoreButtonProps = {
|
|
3
3
|
/** onClick handler load more button. Pagination logic should be executed in this handler. */
|
|
4
4
|
onClick: React.MouseEventHandler<HTMLButtonElement>;
|
|
5
|
-
/**
|
|
5
|
+
/** indicates whether a loading request is in progress */
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* @desc If true, LoadingIndicator is displayed instead of button
|
|
9
|
+
* @deprecated Use loading prop instead of refreshing. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
10
|
+
*/
|
|
6
11
|
refreshing?: boolean;
|
|
7
12
|
};
|
|
8
|
-
export declare const LoadMoreButton: (
|
|
13
|
+
export declare const LoadMoreButton: ({ children, isLoading, onClick, refreshing, }: PropsWithChildren<LoadMoreButtonProps>) => JSX.Element;
|
|
9
14
|
//# sourceMappingURL=LoadMoreButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadMoreButton.d.ts","sourceRoot":"","sources":["../../../src/components/LoadMore/LoadMoreButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"LoadMoreButton.d.ts","sourceRoot":"","sources":["../../../src/components/LoadMore/LoadMoreButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI5D,oBAAY,mBAAmB,GAAG;IAChC,6FAA6F;IAC7F,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpD,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AA6BF,eAAO,MAAM,cAAc,kDAtBxB,kBAAkB,mBAAmB,CAAC,gBAwBL,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
2
|
import { LoadingIndicator } from '../Loading';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { deprecationAndReplacementWarning } from '../../utils/deprecationWarning';
|
|
4
|
+
var UnMemoizedLoadMoreButton = function (_a) {
|
|
5
|
+
var _b = _a.children, children = _b === void 0 ? 'Load more' : _b, isLoading = _a.isLoading, onClick = _a.onClick, refreshing = _a.refreshing;
|
|
6
|
+
var loading = typeof isLoading !== 'undefined' ? isLoading : refreshing;
|
|
7
|
+
useEffect(function () {
|
|
8
|
+
deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMoreButton');
|
|
9
|
+
}, []);
|
|
5
10
|
return (React.createElement("div", { className: 'str-chat__load-more-button' },
|
|
6
|
-
React.createElement("button", { "aria-label": 'Load More Channels', className: 'str-chat__load-more-button__button str-chat__cta-button', "data-testid": 'load-more-button', disabled:
|
|
11
|
+
React.createElement("button", { "aria-label": 'Load More Channels', className: 'str-chat__load-more-button__button str-chat__cta-button', "data-testid": 'load-more-button', disabled: loading, onClick: onClick }, loading ? React.createElement(LoadingIndicator, null) : children)));
|
|
7
12
|
};
|
|
8
13
|
export var LoadMoreButton = React.memo(UnMemoizedLoadMoreButton);
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import { LoadMoreButtonProps } from './LoadMoreButton';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
loadNextPage: () => void;
|
|
6
|
-
/** Boolean for if there is a next page to load */
|
|
7
|
-
hasNextPage?: boolean;
|
|
3
|
+
import type { PaginatorProps } from '../../types/types';
|
|
4
|
+
export declare type LoadMorePaginatorProps = PaginatorProps & {
|
|
8
5
|
/** A UI button component that handles pagination logic */
|
|
9
6
|
LoadMoreButton?: React.ComponentType<LoadMoreButtonProps>;
|
|
10
|
-
/** indicates if there's currently any refreshing taking place */
|
|
11
|
-
refreshing?: boolean;
|
|
12
7
|
/** indicates if the `LoadMoreButton` should be displayed at the top of the list of channels instead of the bottom of the list (the default) */
|
|
13
8
|
reverse?: boolean;
|
|
14
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadMorePaginator.d.ts","sourceRoot":"","sources":["../../../src/components/LoadMore/LoadMorePaginator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"LoadMorePaginator.d.ts","sourceRoot":"","sources":["../../../src/components/LoadMore/LoadMorePaginator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAE5D,OAAO,EAA2C,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,oBAAY,sBAAsB,GAAG,cAAc,GAAG;IACpD,0DAA0D;IAC1D,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC1D,+IAA+I;IAC/I,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAAW,kBAAkB,sBAAsB,CAAC,gBAuB3F,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAzBqB,kBAAkB,sBAAsB,CAAC,gBA2BrD,CAAC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
2
|
import { LoadMoreButton as DefaultLoadMoreButton } from './LoadMoreButton';
|
|
3
|
+
import { deprecationAndReplacementWarning } from '../../utils/deprecationWarning';
|
|
3
4
|
export var UnMemoizedLoadMorePaginator = function (props) {
|
|
4
|
-
var children = props.children, hasNextPage = props.hasNextPage, _a = props.LoadMoreButton, LoadMoreButton = _a === void 0 ? DefaultLoadMoreButton : _a, loadNextPage = props.loadNextPage, refreshing = props.refreshing, reverse = props.reverse;
|
|
5
|
+
var children = props.children, hasNextPage = props.hasNextPage, isLoading = props.isLoading, _a = props.LoadMoreButton, LoadMoreButton = _a === void 0 ? DefaultLoadMoreButton : _a, loadNextPage = props.loadNextPage, refreshing = props.refreshing, reverse = props.reverse;
|
|
6
|
+
var loadingState = typeof isLoading !== 'undefined' ? isLoading : refreshing;
|
|
7
|
+
useEffect(function () {
|
|
8
|
+
deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMorePaginator');
|
|
9
|
+
}, []);
|
|
5
10
|
return (React.createElement(React.Fragment, null,
|
|
6
11
|
!reverse && children,
|
|
7
|
-
hasNextPage && React.createElement(LoadMoreButton, {
|
|
12
|
+
hasNextPage && React.createElement(LoadMoreButton, { isLoading: loadingState, onClick: loadNextPage }),
|
|
8
13
|
reverse && children));
|
|
9
14
|
};
|
|
10
15
|
export var LoadMorePaginator = React.memo(UnMemoizedLoadMorePaginator);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserRole.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useUserRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,WAAW,qJAIF,OAAO,0BACH,OAAO;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useUserRole.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useUserRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,WAAW,qJAIF,OAAO,0BACH,OAAO;;;;;;;;;;;;CA2DhC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { useChannelStateContext } from '../../../context/ChannelStateContext';
|
|
|
2
2
|
import { useChatContext } from '../../../context/ChatContext';
|
|
3
3
|
export var useUserRole = function (message, onlySenderCanEdit, disableQuotedMessages) {
|
|
4
4
|
var _a, _b, _c;
|
|
5
|
-
var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e
|
|
5
|
+
var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e;
|
|
6
6
|
var client = useChatContext('useUserRole').client;
|
|
7
7
|
/**
|
|
8
8
|
* @deprecated as it relies on `membership.role` check which is already deprecated and shouldn't be used anymore.
|
|
@@ -28,11 +28,11 @@ export var useUserRole = function (message, onlySenderCanEdit, disableQuotedMess
|
|
|
28
28
|
(isMyMessage && channelCapabilities['update-own-message']);
|
|
29
29
|
var canDelete = channelCapabilities['delete-any-message'] ||
|
|
30
30
|
(isMyMessage && channelCapabilities['delete-own-message']);
|
|
31
|
-
var canFlag = !isMyMessage;
|
|
32
|
-
var canMute = !isMyMessage &&
|
|
31
|
+
var canFlag = !isMyMessage && channelCapabilities['flag-message'];
|
|
32
|
+
var canMute = !isMyMessage && channelCapabilities['mute-channel'];
|
|
33
33
|
var canQuote = !disableQuotedMessages && channelCapabilities['quote-message'];
|
|
34
|
-
var canReact =
|
|
35
|
-
var canReply =
|
|
34
|
+
var canReact = channelCapabilities['send-reaction'];
|
|
35
|
+
var canReply = channelCapabilities['send-reply'];
|
|
36
36
|
return {
|
|
37
37
|
canDelete: canDelete,
|
|
38
38
|
canEdit: canEdit,
|
|
@@ -169,7 +169,7 @@ var MessageListWithContext = function (props) {
|
|
|
169
169
|
var showEmptyStateIndicator = elements.length === 0 && !threadList;
|
|
170
170
|
return (React.createElement(React.Fragment, null,
|
|
171
171
|
React.createElement(MessageListMainPanel, null,
|
|
172
|
-
React.createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React.createElement(EmptyStateIndicator, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React.createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll',
|
|
172
|
+
React.createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React.createElement(EmptyStateIndicator, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React.createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React.createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React.createElement(LoadingIndicator, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore }, props.internalInfiniteScrollProps),
|
|
173
173
|
React.createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
|
|
174
174
|
React.createElement(TypingIndicator, { threadList: threadList }),
|
|
175
175
|
React.createElement("div", { key: 'bottom' }))))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleReactionsList.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/SimpleReactionsList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleReactionsList.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/SimpleReactionsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAYrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsC1D,oBAAY,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,6KAA6K;IAC7K,oBAAoB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;CACpD,CAAC;AAsGF,eAAO,MAAM,mBAAmB,+JAES,CAAC"}
|
|
@@ -22,15 +22,33 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
22
22
|
};
|
|
23
23
|
import React, { Suspense, useState } from 'react';
|
|
24
24
|
import clsx from 'clsx';
|
|
25
|
+
import { useChatContext } from '../../context/ChatContext';
|
|
25
26
|
import { useEmojiContext } from '../../context/EmojiContext';
|
|
26
27
|
import { useMessageContext } from '../../context/MessageContext';
|
|
28
|
+
import { useEnterLeaveHandlers } from '../Tooltip/hooks';
|
|
27
29
|
import { useProcessReactions } from './hooks/useProcessReactions';
|
|
30
|
+
import { PopperTooltip } from '../Tooltip';
|
|
31
|
+
// todo: merge with ReactionsList/ButtonWithTooltip
|
|
32
|
+
// avoiding breaking change of replacing <span> with <button>
|
|
33
|
+
var WithTooltip = function (_a) {
|
|
34
|
+
var children = _a.children, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, title = _a.title;
|
|
35
|
+
var _b = useState(null), referenceElement = _b[0], setReferenceElement = _b[1];
|
|
36
|
+
var _c = useEnterLeaveHandlers({
|
|
37
|
+
onMouseEnter: onMouseEnter,
|
|
38
|
+
onMouseLeave: onMouseLeave,
|
|
39
|
+
}), handleEnter = _c.handleEnter, handleLeave = _c.handleLeave, tooltipVisible = _c.tooltipVisible;
|
|
40
|
+
var themeVersion = useChatContext('WithTooltip').themeVersion;
|
|
41
|
+
return (React.createElement(React.Fragment, null,
|
|
42
|
+
themeVersion === '2' && (React.createElement(PopperTooltip, { referenceElement: referenceElement, visible: tooltipVisible }, title)),
|
|
43
|
+
React.createElement("span", { onMouseEnter: handleEnter, onMouseLeave: handleLeave, ref: setReferenceElement }, children)));
|
|
44
|
+
};
|
|
28
45
|
var UnMemoizedSimpleReactionsList = function (props) {
|
|
29
46
|
var propHandleReaction = props.handleReaction, rest = __rest(props, ["handleReaction"]);
|
|
30
47
|
var _a = useEmojiContext('SimpleReactionsList'), Emoji = _a.Emoji, emojiConfig = _a.emojiConfig;
|
|
31
48
|
var contextHandleReaction = useMessageContext('SimpleReactionsList').handleReaction;
|
|
32
49
|
var _b = useProcessReactions(__assign({ emojiConfig: emojiConfig }, rest)), additionalEmojiProps = _b.additionalEmojiProps, emojiData = _b.emojiData, getEmojiByReactionType = _b.getEmojiByReactionType, iHaveReactedWithReaction = _b.iHaveReactedWithReaction, latestReactions = _b.latestReactions, latestReactionTypes = _b.latestReactionTypes, supportedReactionsArePresent = _b.supportedReactionsArePresent, totalReactionCount = _b.totalReactionCount;
|
|
33
50
|
var _c = useState(undefined), tooltipReactionType = _c[0], setTooltipReactionType = _c[1];
|
|
51
|
+
var themeVersion = useChatContext('SimpleReactionsList').themeVersion;
|
|
34
52
|
var handleReaction = propHandleReaction || contextHandleReaction;
|
|
35
53
|
if (!latestReactions.length)
|
|
36
54
|
return null;
|
|
@@ -40,7 +58,7 @@ var UnMemoizedSimpleReactionsList = function (props) {
|
|
|
40
58
|
return latestReactions
|
|
41
59
|
.map(function (reaction) {
|
|
42
60
|
var _a, _b;
|
|
43
|
-
if (reaction.type === type) {
|
|
61
|
+
if (type && reaction.type === type) {
|
|
44
62
|
return ((_a = reaction.user) === null || _a === void 0 ? void 0 : _a.name) || ((_b = reaction.user) === null || _b === void 0 ? void 0 : _b.id);
|
|
45
63
|
}
|
|
46
64
|
return null;
|
|
@@ -53,16 +71,18 @@ var UnMemoizedSimpleReactionsList = function (props) {
|
|
|
53
71
|
var _a;
|
|
54
72
|
var emojiObject = getEmojiByReactionType(reactionType);
|
|
55
73
|
var isOwnReaction = iHaveReactedWithReaction(reactionType);
|
|
74
|
+
var tooltipVisible = emojiObject && tooltipReactionType === (emojiObject === null || emojiObject === void 0 ? void 0 : emojiObject.id);
|
|
75
|
+
var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
|
|
56
76
|
return emojiObject ? (React.createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
|
|
57
77
|
'str-chat__message-reaction-own': isOwnReaction,
|
|
58
78
|
}), key: "".concat(emojiObject.id, "-").concat(i), onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
|
|
59
|
-
React.createElement(
|
|
79
|
+
React.createElement(WithTooltip, { onMouseEnter: function () { return setTooltipReactionType(reactionType); }, onMouseLeave: function () { return setTooltipReactionType(undefined); }, title: tooltipContent },
|
|
60
80
|
React.createElement(Suspense, { fallback: null },
|
|
61
81
|
React.createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 13 }, additionalEmojiProps))),
|
|
62
|
-
"\u00A0"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
"\u00A0",
|
|
83
|
+
tooltipVisible && themeVersion === '1' && (React.createElement("div", { className: 'str-chat__simple-reactions-list-tooltip' },
|
|
84
|
+
React.createElement("div", { className: 'arrow' }),
|
|
85
|
+
tooltipContent))))) : null;
|
|
66
86
|
}),
|
|
67
87
|
React.createElement("li", { className: 'str-chat__simple-reactions-list-item--last-number' }, totalReactionCount))));
|
|
68
88
|
};
|