stream-chat-react 11.9.0 → 11.10.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.
- package/dist/{Window-5e0717c0.js → Window-7d524c3b.js} +2092 -33
- package/dist/browser.full-bundle.js +2107 -53
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +19 -10
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +11 -10
- package/dist/components/Emojis/index.cjs.js +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +7 -12
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +2 -2
- package/dist/components/Message/types.d.ts +5 -0
- package/dist/components/Message/types.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.d.ts +1 -1
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +2 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +2 -2
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +7 -3
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +2 -2
- package/dist/components/Reactions/ReactionsList.d.ts +5 -0
- package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionsList.js +2 -2
- package/dist/components/Reactions/ReactionsListModal.d.ts +3 -2
- package/dist/components/Reactions/ReactionsListModal.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionsListModal.js +16 -6
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts +5 -2
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
- package/dist/components/Reactions/hooks/useProcessReactions.js +10 -3
- package/dist/components/Reactions/types.d.ts +4 -1
- package/dist/components/Reactions/types.d.ts.map +1 -1
- package/dist/context/MessageContext.d.ts +5 -0
- package/dist/context/MessageContext.d.ts.map +1 -1
- package/dist/index.cjs.js +17 -19
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -1
|
@@ -5,24 +5,34 @@ import { Modal } from '../Modal';
|
|
|
5
5
|
import { useFetchReactions } from './hooks/useFetchReactions';
|
|
6
6
|
import { LoadingIndicator } from '../Loading';
|
|
7
7
|
import { Avatar } from '../Avatar';
|
|
8
|
+
import { useMessageContext } from '../../context';
|
|
9
|
+
var defaultSortReactionDetails = function (a, b) {
|
|
10
|
+
var _a, _b, _c, _d, _e, _f;
|
|
11
|
+
var aName = (_b = (_a = a.user) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = a.user) === null || _c === void 0 ? void 0 : _c.id;
|
|
12
|
+
var bName = (_e = (_d = b.user) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : (_f = b.user) === null || _f === void 0 ? void 0 : _f.id;
|
|
13
|
+
return aName ? (bName ? aName.localeCompare(bName, 'en') : -1) : 1;
|
|
14
|
+
};
|
|
8
15
|
export function ReactionsListModal(_a) {
|
|
9
|
-
var _b;
|
|
10
|
-
var handleFetchReactions = _a.handleFetchReactions, onSelectedReactionTypeChange = _a.onSelectedReactionTypeChange, reactions = _a.reactions, selectedReactionType = _a.selectedReactionType, modalProps = __rest(_a, ["handleFetchReactions", "onSelectedReactionTypeChange", "reactions", "selectedReactionType"]);
|
|
16
|
+
var _b, _c;
|
|
17
|
+
var handleFetchReactions = _a.handleFetchReactions, onSelectedReactionTypeChange = _a.onSelectedReactionTypeChange, reactions = _a.reactions, selectedReactionType = _a.selectedReactionType, propSortReactionDetails = _a.sortReactionDetails, modalProps = __rest(_a, ["handleFetchReactions", "onSelectedReactionTypeChange", "reactions", "selectedReactionType", "sortReactionDetails"]);
|
|
11
18
|
var selectedReaction = reactions.find(function (_a) {
|
|
12
19
|
var reactionType = _a.reactionType;
|
|
13
20
|
return reactionType === selectedReactionType;
|
|
14
21
|
});
|
|
15
22
|
var SelectedEmojiComponent = (_b = selectedReaction === null || selectedReaction === void 0 ? void 0 : selectedReaction.EmojiComponent) !== null && _b !== void 0 ? _b : null;
|
|
16
|
-
var
|
|
23
|
+
var _d = useFetchReactions({
|
|
17
24
|
handleFetchReactions: handleFetchReactions,
|
|
18
25
|
shouldFetch: modalProps.open,
|
|
19
|
-
}), areReactionsLoading =
|
|
26
|
+
}), areReactionsLoading = _d.isLoading, allReactions = _d.reactions;
|
|
27
|
+
var contextSortReactionDetails = useMessageContext('ReactionsListModal').sortReactionDetails;
|
|
28
|
+
var sortReactionDetails = (_c = propSortReactionDetails !== null && propSortReactionDetails !== void 0 ? propSortReactionDetails : contextSortReactionDetails) !== null && _c !== void 0 ? _c : defaultSortReactionDetails;
|
|
20
29
|
var currentReactions = useMemo(function () {
|
|
21
30
|
if (!selectedReactionType) {
|
|
22
31
|
return [];
|
|
23
32
|
}
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
var unsortedCurrentReactions = allReactions.filter(function (reaction) { return reaction.type === selectedReactionType && reaction.user; });
|
|
34
|
+
return unsortedCurrentReactions.sort(sortReactionDetails);
|
|
35
|
+
}, [allReactions, selectedReactionType, sortReactionDetails]);
|
|
26
36
|
return (React.createElement(Modal, __assign({}, modalProps),
|
|
27
37
|
React.createElement("div", { className: 'str-chat__message-reactions-details', "data-testid": 'reactions-list-modal' },
|
|
28
38
|
React.createElement("div", { className: 'str-chat__message-reactions-details-reaction-types' }, reactions.map(function (_a) {
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { ReactionsListProps } from '../ReactionsList';
|
|
2
2
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
3
|
-
import { ReactionSummary } from '../types';
|
|
3
|
+
import type { ReactionsComparator, ReactionSummary } from '../types';
|
|
4
4
|
type SharedReactionListProps = 'own_reactions' | 'reaction_counts' | 'reactionOptions' | 'reactions';
|
|
5
|
-
type UseProcessReactionsParams = Pick<ReactionsListProps, SharedReactionListProps
|
|
5
|
+
type UseProcessReactionsParams = Pick<ReactionsListProps, SharedReactionListProps> & {
|
|
6
|
+
sortReactions?: ReactionsComparator;
|
|
7
|
+
};
|
|
8
|
+
export declare const defaultReactionsSort: ReactionsComparator;
|
|
6
9
|
export declare const useProcessReactions: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: UseProcessReactionsParams) => {
|
|
7
10
|
existingReactions: ReactionSummary[];
|
|
8
11
|
hasReactions: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProcessReactions.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/hooks/useProcessReactions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useProcessReactions.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/hooks/useProcessReactions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAErE,KAAK,uBAAuB,GACxB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,KAAK,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,GAAG;IACnF,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,mBACiB,CAAC;AAErD,eAAO,MAAM,mBAAmB,6FAGtB,yBAAyB;;;;CAiGlC,CAAC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { useCallback, useMemo } from 'react';
|
|
2
2
|
import { useComponentContext, useMessageContext } from '../../../context';
|
|
3
|
+
export var defaultReactionsSort = function (a, b) {
|
|
4
|
+
return a.reactionType.localeCompare(b.reactionType, 'en');
|
|
5
|
+
};
|
|
3
6
|
export var useProcessReactions = function (params) {
|
|
4
|
-
var
|
|
5
|
-
var
|
|
7
|
+
var _a;
|
|
8
|
+
var propOwnReactions = params.own_reactions, propReactionCounts = params.reaction_counts, propReactionOptions = params.reactionOptions, propReactions = params.reactions, propSortReactions = params.sortReactions;
|
|
9
|
+
var _b = useMessageContext('useProcessReactions'), message = _b.message, contextSortReactions = _b.sortReactions;
|
|
6
10
|
var contextReactionOptions = useComponentContext('useProcessReactions').reactionOptions;
|
|
7
11
|
var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
|
|
12
|
+
var sortReactions = (_a = propSortReactions !== null && propSortReactions !== void 0 ? propSortReactions : contextSortReactions) !== null && _a !== void 0 ? _a : defaultReactionsSort;
|
|
8
13
|
var latestReactions = propReactions || message.latest_reactions;
|
|
9
14
|
var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions);
|
|
10
15
|
var reactionCounts = propReactionCounts || message.reaction_counts;
|
|
@@ -31,7 +36,7 @@ export var useProcessReactions = function (params) {
|
|
|
31
36
|
if (!reactionCounts) {
|
|
32
37
|
return [];
|
|
33
38
|
}
|
|
34
|
-
|
|
39
|
+
var unsortedReactions = Object.entries(reactionCounts).flatMap(function (_a) {
|
|
35
40
|
var reactionType = _a[0], reactionCount = _a[1];
|
|
36
41
|
if (reactionCount === 0 || !isSupportedReaction(reactionType)) {
|
|
37
42
|
return [];
|
|
@@ -46,12 +51,14 @@ export var useProcessReactions = function (params) {
|
|
|
46
51
|
},
|
|
47
52
|
];
|
|
48
53
|
});
|
|
54
|
+
return unsortedReactions.sort(sortReactions);
|
|
49
55
|
}, [
|
|
50
56
|
getEmojiByReactionType,
|
|
51
57
|
getLatestReactedUserNames,
|
|
52
58
|
isOwnReaction,
|
|
53
59
|
isSupportedReaction,
|
|
54
60
|
reactionCounts,
|
|
61
|
+
sortReactions,
|
|
55
62
|
]);
|
|
56
63
|
var hasReactions = existingReactions.length > 0;
|
|
57
64
|
var totalReactionCount = useMemo(function () { return existingReactions.reduce(function (total, _a) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ComponentType } from 'react';
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import type { ReactionResponse } from 'stream-chat';
|
|
2
3
|
export interface ReactionSummary {
|
|
3
4
|
EmojiComponent: ComponentType | null;
|
|
4
5
|
isOwnReaction: boolean;
|
|
@@ -6,4 +7,6 @@ export interface ReactionSummary {
|
|
|
6
7
|
reactionCount: number;
|
|
7
8
|
reactionType: string;
|
|
8
9
|
}
|
|
10
|
+
export type ReactionsComparator = (a: ReactionSummary, b: ReactionSummary) => number;
|
|
11
|
+
export type ReactionDetailsComparator = (a: ReactionResponse, b: ReactionResponse) => number;
|
|
9
12
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,OAAO,CAAC;IACvB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,KAAK,MAAM,CAAC;AAErF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC"}
|
|
@@ -8,6 +8,7 @@ import type { ReactEventHandler } from '../components/Message/types';
|
|
|
8
8
|
import type { MessageActionsArray } from '../components/Message/utils';
|
|
9
9
|
import type { MessageInputProps } from '../components/MessageInput/MessageInput';
|
|
10
10
|
import type { GroupStyle } from '../components/MessageList/utils';
|
|
11
|
+
import type { ReactionDetailsComparator, ReactionsComparator } from '../components/Reactions/types';
|
|
11
12
|
import type { RenderTextOptions } from '../components/Message/renderText';
|
|
12
13
|
import type { DefaultStreamChatGenerics, UnknownType } from '../types/types';
|
|
13
14
|
export type CustomMessageActions<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
@@ -105,6 +106,10 @@ export type MessageContextValue<StreamChatGenerics extends DefaultStreamChatGene
|
|
|
105
106
|
readBy?: UserResponse<StreamChatGenerics>[];
|
|
106
107
|
/** Custom function to render message text content, defaults to the renderText function: [utils](https://github.com/GetStream/stream-chat-react/blob/master/src/utils.tsx) */
|
|
107
108
|
renderText?: (text?: string, mentioned_users?: UserResponse<StreamChatGenerics>[], options?: RenderTextOptions) => JSX.Element | null;
|
|
109
|
+
/** Comparator function to sort the list of reacted users, defaults to alphabetical order */
|
|
110
|
+
sortReactionDetails?: ReactionDetailsComparator;
|
|
111
|
+
/** Comparator function to sort reactions, defaults to alphabetical order */
|
|
112
|
+
sortReactions?: ReactionsComparator;
|
|
108
113
|
/** Whether or not the Message is in a Thread */
|
|
109
114
|
threadList?: boolean;
|
|
110
115
|
/** render HTML instead of markdown. Posting HTML is only allowed server-side */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageContext.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Window = require('./Window-
|
|
5
|
+
var Window = require('./Window-7d524c3b.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var reactVirtuoso = require('react-virtuoso');
|
|
8
8
|
var throttle = require('lodash.throttle');
|
|
@@ -527,7 +527,8 @@ var InfiniteScroll = function (props) {
|
|
|
527
527
|
var hasNextPageFlag = hasNextPage || hasMoreNewer;
|
|
528
528
|
var hasPreviousPageFlag = hasPreviousPage || hasMore;
|
|
529
529
|
var scrollComponent = React.useRef();
|
|
530
|
-
var
|
|
530
|
+
var scrollListenerRef = React.useRef();
|
|
531
|
+
scrollListenerRef.current = function () {
|
|
531
532
|
var element = scrollComponent.current;
|
|
532
533
|
if (!element || element.offsetParent === null) {
|
|
533
534
|
return;
|
|
@@ -550,15 +551,7 @@ var InfiniteScroll = function (props) {
|
|
|
550
551
|
if (offset < Number(threshold) && typeof loadNextPageFn === 'function' && hasNextPageFlag) {
|
|
551
552
|
loadNextPageFn();
|
|
552
553
|
}
|
|
553
|
-
}
|
|
554
|
-
hasPreviousPageFlag,
|
|
555
|
-
hasNextPageFlag,
|
|
556
|
-
isLoading,
|
|
557
|
-
listenToScroll,
|
|
558
|
-
loadPreviousPageFn,
|
|
559
|
-
loadNextPageFn,
|
|
560
|
-
threshold,
|
|
561
|
-
]);
|
|
554
|
+
};
|
|
562
555
|
React.useEffect(function () {
|
|
563
556
|
Window.deprecationAndReplacementWarning([
|
|
564
557
|
[{ hasMoreNewer: hasMoreNewer }, { hasNextPage: hasNextPage }],
|
|
@@ -573,13 +566,15 @@ var InfiniteScroll = function (props) {
|
|
|
573
566
|
var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
|
|
574
567
|
if (!scrollElement)
|
|
575
568
|
return;
|
|
569
|
+
var scrollListener = function () { var _a; return (_a = scrollListenerRef.current) === null || _a === void 0 ? void 0 : _a.call(scrollListenerRef); };
|
|
576
570
|
scrollElement.addEventListener('scroll', scrollListener, useCapture);
|
|
577
571
|
scrollElement.addEventListener('resize', scrollListener, useCapture);
|
|
572
|
+
scrollListener();
|
|
578
573
|
return function () {
|
|
579
574
|
scrollElement.removeEventListener('scroll', scrollListener, useCapture);
|
|
580
575
|
scrollElement.removeEventListener('resize', scrollListener, useCapture);
|
|
581
576
|
};
|
|
582
|
-
}, [initialLoad,
|
|
577
|
+
}, [initialLoad, useCapture]);
|
|
583
578
|
React.useEffect(function () {
|
|
584
579
|
var _a;
|
|
585
580
|
var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
|
|
@@ -637,7 +632,7 @@ var MessageListWithContext = function (props) {
|
|
|
637
632
|
var _a;
|
|
638
633
|
var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, internalInfiniteScrollProps = props.internalInfiniteScrollProps, _e = props.messageActions, messageActions = _e === void 0 ? Object.keys(Window.MESSAGE_ACTIONS) : _e, _f = props.messages, messages = _f === void 0 ? [] : _f, notifications = props.notifications, _g = props.noGroupByUser, noGroupByUser = _g === void 0 ? false : _g, _h = props.pinPermissions, pinPermissions = _h === void 0 ? Window.defaultPinPermissions : _h, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
639
634
|
_j = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
640
|
-
returnAllReadData = _j === void 0 ? false : _j, _k = props.threadList, threadList = _k === void 0 ? false : _k, _l = props.unsafeHTML, unsafeHTML = _l === void 0 ? false : _l, headerPosition = props.headerPosition, read = props.read, _m = props.renderMessages, renderMessages = _m === void 0 ? defaultRenderMessages : _m, _o = props.messageLimit, messageLimit = _o === void 0 ?
|
|
635
|
+
returnAllReadData = _j === void 0 ? false : _j, _k = props.threadList, threadList = _k === void 0 ? false : _k, _l = props.unsafeHTML, unsafeHTML = _l === void 0 ? false : _l, headerPosition = props.headerPosition, read = props.read, _m = props.renderMessages, renderMessages = _m === void 0 ? defaultRenderMessages : _m, _o = props.messageLimit, messageLimit = _o === void 0 ? Window.DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _o, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _p = props.hasMoreNewer, hasMoreNewer = _p === void 0 ? false : _p, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _q = props.jumpToLatestMessage, jumpToLatestMessage = _q === void 0 ? function () { return Promise.resolve(); } : _q;
|
|
641
636
|
var _r = React__default["default"].useState(null), listElement = _r[0], setListElement = _r[1];
|
|
642
637
|
var _s = React__default["default"].useState(null), ulElement = _s[0], setUlElement = _s[1];
|
|
643
638
|
var customClasses = Window.useChatContext('MessageList').customClasses;
|
|
@@ -1054,7 +1049,7 @@ var Footer = function () {
|
|
|
1054
1049
|
};
|
|
1055
1050
|
var messageRenderer = function (virtuosoIndex, _data, virtuosoContext) {
|
|
1056
1051
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1057
|
-
var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, shouldGroupByUser = virtuosoContext.shouldGroupByUser, _k = virtuosoContext.unreadMessageCount, unreadMessageCount = _k === void 0 ? 0 : _k, UnreadMessagesSeparator = virtuosoContext.UnreadMessagesSeparator, virtuosoRef = virtuosoContext.virtuosoRef;
|
|
1052
|
+
var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, shouldGroupByUser = virtuosoContext.shouldGroupByUser, sortReactionDetails = virtuosoContext.sortReactionDetails, sortReactions = virtuosoContext.sortReactions, _k = virtuosoContext.unreadMessageCount, unreadMessageCount = _k === void 0 ? 0 : _k, UnreadMessagesSeparator = virtuosoContext.UnreadMessagesSeparator, virtuosoRef = virtuosoContext.virtuosoRef;
|
|
1058
1053
|
var streamMessageIndex = calculateItemIndex(virtuosoIndex, numItemsPrepended);
|
|
1059
1054
|
if (customMessageRenderer) {
|
|
1060
1055
|
return customMessageRenderer(messageList, streamMessageIndex);
|
|
@@ -1077,7 +1072,7 @@ var messageRenderer = function (virtuosoIndex, _data, virtuosoContext) {
|
|
|
1077
1072
|
var isLastReadMessage = message.id === lastReadMessageId;
|
|
1078
1073
|
var showUnreadSeparator = isLastReadMessage && !isNewestMessage && (firstUnreadMessageId || unreadMessageCount > 0); // unread count can be 0 if the user marks unread only own messages
|
|
1079
1074
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1080
|
-
React__default["default"].createElement(Window.Message, { additionalMessageInputProps: additionalMessageInputProps, autoscrollToBottom: (_j = virtuosoRef.current) === null || _j === void 0 ? void 0 : _j.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, lastReceivedId: lastReceivedMessageId, message: message, Message: MessageUIComponent, messageActions: messageActions, readBy: ownMessagesReadByOthers[message.id] || [] }),
|
|
1075
|
+
React__default["default"].createElement(Window.Message, { additionalMessageInputProps: additionalMessageInputProps, autoscrollToBottom: (_j = virtuosoRef.current) === null || _j === void 0 ? void 0 : _j.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, lastReceivedId: lastReceivedMessageId, message: message, Message: MessageUIComponent, messageActions: messageActions, readBy: ownMessagesReadByOthers[message.id] || [], sortReactionDetails: sortReactionDetails, sortReactions: sortReactions }),
|
|
1081
1076
|
showUnreadSeparator && (React__default["default"].createElement("div", { className: 'str-chat__unread-messages-separator-wrapper' },
|
|
1082
1077
|
React__default["default"].createElement(UnreadMessagesSeparator, { unreadCount: unreadMessageCount })))));
|
|
1083
1078
|
};
|
|
@@ -1113,11 +1108,11 @@ function calculateInitialTopMostItemIndex(messages, highlightedMessageId) {
|
|
|
1113
1108
|
}
|
|
1114
1109
|
var VirtualizedMessageListWithContext = function (props) {
|
|
1115
1110
|
var _a, _b;
|
|
1116
|
-
var additionalMessageInputProps = props.additionalMessageInputProps, _c = props.additionalVirtuosoProps, additionalVirtuosoProps = _c === void 0 ? {} : _c, channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageActions = props.customMessageActions, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _d = props.disableDateSeparator, disableDateSeparator = _d === void 0 ? true : _d, groupStyles = props.groupStyles, hasMoreNewer = props.hasMoreNewer, head = props.head, _e = props.hideDeletedMessages, hideDeletedMessages = _e === void 0 ? false : _e, _f = props.hideNewMessageSeparator, hideNewMessageSeparator = _f === void 0 ? false : _f, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, MessageUIComponentFromProps = props.Message, messageActions = props.messageActions, _g = props.messageLimit, messageLimit = _g === void 0 ?
|
|
1111
|
+
var additionalMessageInputProps = props.additionalMessageInputProps, _c = props.additionalVirtuosoProps, additionalVirtuosoProps = _c === void 0 ? {} : _c, channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageActions = props.customMessageActions, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _d = props.disableDateSeparator, disableDateSeparator = _d === void 0 ? true : _d, groupStyles = props.groupStyles, hasMoreNewer = props.hasMoreNewer, head = props.head, _e = props.hideDeletedMessages, hideDeletedMessages = _e === void 0 ? false : _e, _f = props.hideNewMessageSeparator, hideNewMessageSeparator = _f === void 0 ? false : _f, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, MessageUIComponentFromProps = props.Message, messageActions = props.messageActions, _g = props.messageLimit, messageLimit = _g === void 0 ? Window.DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _g, messages = props.messages, notifications = props.notifications,
|
|
1117
1112
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
1118
1113
|
_h = props.overscan,
|
|
1119
1114
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
1120
|
-
overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
|
|
1115
|
+
overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
|
|
1121
1116
|
var virtuosoComponentsFromProps = additionalVirtuosoProps.components, overridingVirtuosoProps = Window.__rest(additionalVirtuosoProps, ["components"]);
|
|
1122
1117
|
// Stops errors generated from react-virtuoso to bubble up
|
|
1123
1118
|
// to Sentry or other tracking tools.
|
|
@@ -1245,8 +1240,9 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
1245
1240
|
}
|
|
1246
1241
|
};
|
|
1247
1242
|
var atTopStateChange = function (isAtTop) {
|
|
1248
|
-
if (isAtTop)
|
|
1243
|
+
if (isAtTop) {
|
|
1249
1244
|
loadMore === null || loadMore === void 0 ? void 0 : loadMore(messageLimit);
|
|
1245
|
+
}
|
|
1250
1246
|
};
|
|
1251
1247
|
React.useEffect(function () {
|
|
1252
1248
|
var scrollTimeout;
|
|
@@ -1289,6 +1285,8 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
1289
1285
|
ownMessagesReadByOthers: ownMessagesReadByOthers,
|
|
1290
1286
|
processedMessages: processedMessages,
|
|
1291
1287
|
shouldGroupByUser: shouldGroupByUser,
|
|
1288
|
+
sortReactionDetails: sortReactionDetails,
|
|
1289
|
+
sortReactions: sortReactions,
|
|
1292
1290
|
threadList: threadList,
|
|
1293
1291
|
unreadMessageCount: channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages,
|
|
1294
1292
|
UnreadMessagesSeparator: UnreadMessagesSeparator,
|
|
@@ -1308,7 +1306,7 @@ function VirtualizedMessageList(props) {
|
|
|
1308
1306
|
return (React__default["default"].createElement(VirtualizedMessageListWithContext, Window.__assign({ channel: channel, channelUnreadUiState: channelUnreadUiState, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, read: read, suppressAutoscroll: suppressAutoscroll }, props)));
|
|
1309
1307
|
}
|
|
1310
1308
|
|
|
1311
|
-
var version = '11.
|
|
1309
|
+
var version = '11.10.0';
|
|
1312
1310
|
|
|
1313
1311
|
var useChat = function (_a) {
|
|
1314
1312
|
var _b, _c;
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "11.
|
|
1
|
+
export declare const version = "11.10.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,YAAY,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export var version = '11.
|
|
1
|
+
export var version = '11.10.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.10.0",
|
|
4
4
|
"description": "React components to create chat conversations or livestream style chat",
|
|
5
5
|
"author": "GetStream",
|
|
6
6
|
"homepage": "https://getstream.io/chat/",
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"isomorphic-ws": "^4.0.1",
|
|
72
72
|
"linkifyjs": "^4.1.0",
|
|
73
73
|
"lodash.debounce": "^4.0.8",
|
|
74
|
+
"lodash.defaultsdeep": "^4.6.1",
|
|
74
75
|
"lodash.throttle": "^4.1.1",
|
|
75
76
|
"lodash.uniqby": "^4.7.0",
|
|
76
77
|
"nanoid": "^3.3.4",
|
|
@@ -155,6 +156,7 @@
|
|
|
155
156
|
"@types/jsdom": "^21.1.5",
|
|
156
157
|
"@types/linkifyjs": "^2.1.3",
|
|
157
158
|
"@types/lodash.debounce": "^4.0.7",
|
|
159
|
+
"@types/lodash.defaultsdeep": "^4.6.9",
|
|
158
160
|
"@types/lodash.throttle": "^4.1.7",
|
|
159
161
|
"@types/lodash.uniqby": "^4.7.7",
|
|
160
162
|
"@types/moment": "^2.13.0",
|