stream-chat-react 9.1.4 → 9.1.5
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 +82 -66
- 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/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +3 -6
- package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/components/Message/hooks/useUserRole.js +17 -3
- package/dist/components/MessageActions/MessageActionsBox.js +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +0 -2
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +9 -6
- package/dist/css/index.css +1 -1
- package/dist/index.cjs.js +31 -17
- package/dist/index.cjs.js.map +1 -1
- package/dist/scss/Message.scss +1 -1
- package/dist/stories/hello.stories.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -5
package/dist/index.cjs.js
CHANGED
|
@@ -2866,12 +2866,26 @@ var useUserRole = function (message, onlySenderCanEdit, disableQuotedMessages) {
|
|
|
2866
2866
|
var _a, _b, _c;
|
|
2867
2867
|
var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e, channelConfig = _d.channelConfig;
|
|
2868
2868
|
var client = useChatContext('useUserRole').client;
|
|
2869
|
+
/**
|
|
2870
|
+
* @deprecated as it relies on `membership.role` check which is already deprecated and shouldn't be used anymore.
|
|
2871
|
+
* `isAdmin` will be removed in future release. See `channelCapabilities`.
|
|
2872
|
+
*/
|
|
2869
2873
|
var isAdmin = ((_a = client.user) === null || _a === void 0 ? void 0 : _a.role) === 'admin' || channel.state.membership.role === 'admin';
|
|
2870
|
-
|
|
2874
|
+
/**
|
|
2875
|
+
* @deprecated as it relies on `membership.role` check which is already deprecated and shouldn't be used anymore.
|
|
2876
|
+
* `isOwner` will be removed in future release. See `channelCapabilities`.
|
|
2877
|
+
*/
|
|
2871
2878
|
var isOwner = channel.state.membership.role === 'owner';
|
|
2872
|
-
|
|
2879
|
+
/**
|
|
2880
|
+
* @deprecated as it relies on `membership.role` check which is already deprecated and shouldn't be used anymore.
|
|
2881
|
+
* `isModerator` will be removed in future release. See `channelCapabilities`.
|
|
2882
|
+
*/
|
|
2883
|
+
var isModerator = ((_b = client.user) === null || _b === void 0 ? void 0 : _b.role) === 'channel_moderator' ||
|
|
2873
2884
|
channel.state.membership.role === 'channel_moderator' ||
|
|
2874
|
-
channel.state.membership.role === 'moderator'
|
|
2885
|
+
channel.state.membership.role === 'moderator' ||
|
|
2886
|
+
channel.state.membership.is_moderator === true ||
|
|
2887
|
+
channel.state.membership.channel_role === 'channel_moderator';
|
|
2888
|
+
var isMyMessage = client.userID === ((_c = message.user) === null || _c === void 0 ? void 0 : _c.id);
|
|
2875
2889
|
var canEdit = (!onlySenderCanEdit && channelCapabilities['update-any-message']) ||
|
|
2876
2890
|
(isMyMessage && channelCapabilities['update-own-message']);
|
|
2877
2891
|
var canDelete = channelCapabilities['delete-any-message'] ||
|
|
@@ -3310,7 +3324,7 @@ var UnMemoizedMessageActionsBox = function (props) {
|
|
|
3310
3324
|
return (React__default['default'].createElement("div", { className: "str-chat__message-actions-box\n " + (open ? 'str-chat__message-actions-box--open' : '') + "\n " + (mine ? 'str-chat__message-actions-box--mine' : '') + "\n " + (reverse ? 'str-chat__message-actions-box--reverse' : '') + "\n ", "data-testid": 'message-actions-box', ref: checkIfReverse },
|
|
3311
3325
|
React__default['default'].createElement("div", { "aria-label": 'Message Options', className: 'str-chat__message-actions-list', role: 'listbox' },
|
|
3312
3326
|
customMessageActions && (React__default['default'].createElement(CustomMessageActionsList, { customMessageActions: customMessageActions, message: message })),
|
|
3313
|
-
messageActions.indexOf(MESSAGE_ACTIONS.quote) > -1 &&
|
|
3327
|
+
messageActions.indexOf(MESSAGE_ACTIONS.quote) > -1 && (React__default['default'].createElement("button", { "aria-selected": 'false', className: 'str-chat__message-actions-list-item', onClick: handleQuote, role: 'option' }, t('Reply'))),
|
|
3314
3328
|
messageActions.indexOf(MESSAGE_ACTIONS.pin) > -1 && !message.parent_id && (React__default['default'].createElement("button", { "aria-selected": 'false', className: 'str-chat__message-actions-list-item', onClick: handlePin, role: 'option' }, !message.pinned ? t('Pin') : t('Unpin'))),
|
|
3315
3329
|
messageActions.indexOf(MESSAGE_ACTIONS.flag) > -1 && (React__default['default'].createElement("button", { "aria-selected": 'false', className: 'str-chat__message-actions-list-item', onClick: handleFlag, role: 'option' }, t('Flag'))),
|
|
3316
3330
|
messageActions.indexOf(MESSAGE_ACTIONS.mute) > -1 && (React__default['default'].createElement("button", { "aria-selected": 'false', className: 'str-chat__message-actions-list-item', onClick: handleMute, role: 'option' }, isUserMuted() ? t('Unmute') : t('Mute'))),
|
|
@@ -6525,19 +6539,16 @@ var ChannelInner = function (props) {
|
|
|
6525
6539
|
}
|
|
6526
6540
|
});
|
|
6527
6541
|
}); };
|
|
6528
|
-
var createMessagePreview = function (text, attachments, parent, mentioned_users) {
|
|
6529
|
-
var clientSideID = client.userID + "-" + nanoid.nanoid();
|
|
6530
|
-
return __assign({ __html: text, attachments: attachments, created_at: new Date(), html: text, id: clientSideID, mentioned_users: mentioned_users, reactions: [], status: 'sending', text: text, type: 'regular', user: client.user }, ((parent === null || parent === void 0 ? void 0 : parent.id) ? { parent_id: parent.id } : null));
|
|
6531
|
-
};
|
|
6532
6542
|
var sendMessage = function (_a, customMessageData) {
|
|
6533
|
-
var _b = _a.attachments, attachments = _b === void 0 ? [] : _b, _c = _a.mentioned_users, mentioned_users = _c === void 0 ? [] : _c,
|
|
6543
|
+
var _b = _a.attachments, attachments = _b === void 0 ? [] : _b, _c = _a.mentioned_users, mentioned_users = _c === void 0 ? [] : _c, parent = _a.parent, _d = _a.text, text = _d === void 0 ? '' : _d;
|
|
6534
6544
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
6535
6545
|
var messagePreview;
|
|
6546
|
+
var _e;
|
|
6536
6547
|
return __generator(this, function (_f) {
|
|
6537
6548
|
switch (_f.label) {
|
|
6538
6549
|
case 0:
|
|
6539
6550
|
channel.state.filterErrorMessages();
|
|
6540
|
-
messagePreview =
|
|
6551
|
+
messagePreview = __assign({ __html: text, attachments: attachments, created_at: new Date(), html: text, id: (_e = customMessageData === null || customMessageData === void 0 ? void 0 : customMessageData.id) !== null && _e !== void 0 ? _e : client.userID + "-" + nanoid.nanoid(), mentioned_users: mentioned_users, reactions: [], status: 'sending', text: text, type: 'regular', user: client.user }, ((parent === null || parent === void 0 ? void 0 : parent.id) ? { parent_id: parent.id } : null));
|
|
6541
6552
|
updateMessage(messagePreview);
|
|
6542
6553
|
return [4 /*yield*/, doSendMessage(messagePreview, customMessageData)];
|
|
6543
6554
|
case 1:
|
|
@@ -7671,7 +7682,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
7671
7682
|
*/
|
|
7672
7683
|
var ChannelList = React__default['default'].memo(UnMemoizedChannelList);
|
|
7673
7684
|
|
|
7674
|
-
var version = '9.1.
|
|
7685
|
+
var version = '9.1.5';
|
|
7675
7686
|
|
|
7676
7687
|
var useChat = function (_a) {
|
|
7677
7688
|
var _b, _c;
|
|
@@ -9321,15 +9332,18 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
9321
9332
|
var endOfGroup = shouldGroupByUser && ((_f = message.user) === null || _f === void 0 ? void 0 : _f.id) !== ((_h = (_g = messageList[streamMessageIndex + 1]) === null || _g === void 0 ? void 0 : _g.user) === null || _h === void 0 ? void 0 : _h.id);
|
|
9322
9333
|
return (React__default['default'].createElement(Message, { closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: props.customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, message: message, Message: MessageUIComponent, messageActions: props.messageActions }));
|
|
9323
9334
|
}, [customMessageRenderer, shouldGroupByUser, numItemsPrepended]);
|
|
9335
|
+
var Item = React.useMemo(function () {
|
|
9336
|
+
// using 'display: inline-block'
|
|
9337
|
+
// traps CSS margins of the item elements, preventing incorrect item measurements
|
|
9338
|
+
var Item = function (props) { return (React__default['default'].createElement("div", __assign({}, props, { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage) || 'str-chat__virtual-list-message-wrapper' }))); };
|
|
9339
|
+
return Item;
|
|
9340
|
+
}, [customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage]);
|
|
9324
9341
|
var virtuosoComponents = React.useMemo(function () {
|
|
9325
9342
|
var EmptyPlaceholder = function () { return (React__default['default'].createElement(React__default['default'].Fragment, null, EmptyStateIndicator$1 && React__default['default'].createElement(EmptyStateIndicator$1, { listType: 'message' }))); };
|
|
9326
9343
|
var Header = function () {
|
|
9327
9344
|
return loadingMore ? (React__default['default'].createElement("div", { className: 'str-chat__virtual-list__loading' },
|
|
9328
9345
|
React__default['default'].createElement(LoadingIndicator$1, { size: 20 }))) : (React__default['default'].createElement(React__default['default'].Fragment, null));
|
|
9329
9346
|
};
|
|
9330
|
-
var virtualMessageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage) || 'str-chat__virtual-list-message-wrapper';
|
|
9331
|
-
// using 'display: inline-block' traps CSS margins of the item elements, preventing incorrect item measurements
|
|
9332
|
-
var Item = function (props) { return React__default['default'].createElement("div", __assign({}, props, { className: virtualMessageClass })); };
|
|
9333
9347
|
var Footer = function () {
|
|
9334
9348
|
return TypingIndicator ? React__default['default'].createElement(TypingIndicator, { avatarSize: 24 }) : React__default['default'].createElement(React__default['default'].Fragment, null);
|
|
9335
9349
|
};
|
|
@@ -9369,15 +9383,15 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
9369
9383
|
return null;
|
|
9370
9384
|
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
|
9371
9385
|
React__default['default'].createElement("div", { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list' },
|
|
9372
|
-
React__default['default'].createElement(reactVirtuoso.Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents,
|
|
9386
|
+
React__default['default'].createElement(reactVirtuoso.Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, computeItemKey: function (index) {
|
|
9387
|
+
return processedMessages[numItemsPrepended + index - PREPEND_OFFSET].id;
|
|
9388
|
+
}, endReached: endReached, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: function (i) { return messageRenderer(processedMessages, i); }, itemSize: fractionalItemSize, key: messageSetKey, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {})))),
|
|
9373
9389
|
React__default['default'].createElement(MessageListNotifications$1, { hasNewMessages: newMessagesNotification, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification$1, notifications: notifications, scrollToBottom: scrollToBottom }),
|
|
9374
9390
|
giphyPreviewMessage && React__default['default'].createElement(GiphyPreviewMessage$1, { message: giphyPreviewMessage })));
|
|
9375
9391
|
};
|
|
9376
9392
|
/**
|
|
9377
9393
|
* The VirtualizedMessageList component renders a list of messages in a virtualized list.
|
|
9378
9394
|
* It is a consumer of the React contexts set in [Channel](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Channel/Channel.tsx).
|
|
9379
|
-
*
|
|
9380
|
-
* **Note**: It works well when there are thousands of messages in a channel, it has a shortcoming though - the message UI should have a fixed height.
|
|
9381
9395
|
*/
|
|
9382
9396
|
function VirtualizedMessageList(props) {
|
|
9383
9397
|
var _a = useChannelActionContext('VirtualizedMessageList'), jumpToLatestMessage = _a.jumpToLatestMessage, loadMore = _a.loadMore, loadMoreNewer = _a.loadMoreNewer;
|