stream-chat-react 11.1.1 → 11.2.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/browser.full-bundle.js +101 -58
- 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/AutoCompleteTextarea/Textarea.d.ts +1 -0
- package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Textarea.js +10 -8
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +17 -10
- package/dist/components/ChannelList/ChannelList.d.ts +2 -0
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +2 -2
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +2 -2
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +16 -11
- package/dist/components/Emojis/index.cjs.js +1 -1
- package/dist/components/Gallery/ModalGallery.d.ts.map +1 -1
- package/dist/components/Gallery/ModalGallery.js +11 -1
- package/dist/components/MessageInput/CooldownTimer.d.ts +1 -1
- package/dist/components/MessageInput/CooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/CooldownTimer.js +14 -11
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +11 -2
- package/dist/components/MessageInput/icons.js +4 -4
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/{icons-a35a8ee7.js → icons-b84cd102.js} +4 -4
- package/dist/index.cjs.js +97 -54
- package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +1 -0
- package/dist/scss/v2/vendor/react-image-gallery.scss +19 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var icons = require('./icons-
|
|
5
|
+
var icons = require('./icons-b84cd102.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var ReactPlayer = require('react-player');
|
|
8
8
|
var prettybytes = require('pretty-bytes');
|
|
@@ -296,6 +296,15 @@ var Modal = function (_a) {
|
|
|
296
296
|
React__default["default"].createElement("div", { className: 'str-chat__modal__inner str-chat-react__modal__inner', ref: innerRef }, children)));
|
|
297
297
|
};
|
|
298
298
|
|
|
299
|
+
var onError = function (e) {
|
|
300
|
+
// Prevent having alt attribute on img as the img takes the height of the alt text
|
|
301
|
+
// instead of the CSS / element width & height when the CSS mask (fallback) is applied.
|
|
302
|
+
e.target.alt = '';
|
|
303
|
+
};
|
|
304
|
+
var renderItem = function (_a) {
|
|
305
|
+
var original = _a.original, originalAlt = _a.originalAlt;
|
|
306
|
+
return (React__default["default"].createElement(BaseImage, { alt: originalAlt, className: 'image-gallery-image', onError: onError, src: original }));
|
|
307
|
+
};
|
|
299
308
|
var ModalGallery = function (props) {
|
|
300
309
|
var images = props.images, index = props.index;
|
|
301
310
|
var t = icons.useTranslationContext('ModalGallery').t;
|
|
@@ -309,7 +318,7 @@ var ModalGallery = function (props) {
|
|
|
309
318
|
};
|
|
310
319
|
});
|
|
311
320
|
}, [images]);
|
|
312
|
-
return (React__default["default"].createElement(ImageGallery__default["default"], { items: formattedArray, showIndex: true, showPlayButton: false, showThumbnails: false, startIndex: index }));
|
|
321
|
+
return (React__default["default"].createElement(ImageGallery__default["default"], { items: formattedArray, renderItem: renderItem, showIndex: true, showPlayButton: false, showThumbnails: false, startIndex: index }));
|
|
313
322
|
};
|
|
314
323
|
|
|
315
324
|
var UnMemoizedGallery = function (props) {
|
|
@@ -31289,6 +31298,7 @@ class ReactTextareaAutocomplete extends React__default["default"].Component {
|
|
|
31289
31298
|
currentTrigger: null,
|
|
31290
31299
|
data: null,
|
|
31291
31300
|
dataLoading: false,
|
|
31301
|
+
isComposing: false,
|
|
31292
31302
|
left: null,
|
|
31293
31303
|
selectionEnd: 0,
|
|
31294
31304
|
selectionStart: 0,
|
|
@@ -31339,22 +31349,23 @@ class ReactTextareaAutocomplete extends React__default["default"].Component {
|
|
|
31339
31349
|
SuggestionItem,
|
|
31340
31350
|
SuggestionList = List
|
|
31341
31351
|
} = this.props;
|
|
31352
|
+
const {
|
|
31353
|
+
isComposing
|
|
31354
|
+
} = this.state;
|
|
31342
31355
|
const triggerProps = this.getTriggerProps();
|
|
31343
|
-
if (triggerProps.values
|
|
31344
|
-
|
|
31345
|
-
|
|
31346
|
-
|
|
31347
|
-
|
|
31348
|
-
|
|
31349
|
-
|
|
31350
|
-
|
|
31351
|
-
|
|
31352
|
-
|
|
31353
|
-
|
|
31354
|
-
|
|
31355
|
-
|
|
31356
|
-
}
|
|
31357
|
-
return null;
|
|
31356
|
+
if (isComposing || !triggerProps.values || !triggerProps.currentTrigger || disableMentions && triggerProps.currentTrigger === '@') return null;
|
|
31357
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
31358
|
+
className: clsx('rta__autocomplete', 'str-chat__suggestion-list-container', dropdownClassName),
|
|
31359
|
+
ref: this.setDropdownRef,
|
|
31360
|
+
style: dropdownStyle
|
|
31361
|
+
}, /*#__PURE__*/React__default["default"].createElement(SuggestionList, _extends__default["default"]({
|
|
31362
|
+
className: clsx('str-chat__suggestion-list', listClassName),
|
|
31363
|
+
dropdownScroll: this._dropdownScroll,
|
|
31364
|
+
itemClassName: clsx('str-chat__suggestion-list-item', itemClassName),
|
|
31365
|
+
itemStyle: itemStyle,
|
|
31366
|
+
onSelect: this._onSelect,
|
|
31367
|
+
SuggestionItem: SuggestionItem
|
|
31368
|
+
}, triggerProps)));
|
|
31358
31369
|
}
|
|
31359
31370
|
render() {
|
|
31360
31371
|
const {
|
|
@@ -31408,6 +31419,14 @@ class ReactTextareaAutocomplete extends React__default["default"].Component {
|
|
|
31408
31419
|
this._onClickAndBlurHandler(e);
|
|
31409
31420
|
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
31410
31421
|
},
|
|
31422
|
+
onCompositionEnd: () => this.setState(pv => ({
|
|
31423
|
+
...pv,
|
|
31424
|
+
isComposing: false
|
|
31425
|
+
})),
|
|
31426
|
+
onCompositionStart: () => this.setState(pv => ({
|
|
31427
|
+
...pv,
|
|
31428
|
+
isComposing: true
|
|
31429
|
+
})),
|
|
31411
31430
|
onFocus: e => {
|
|
31412
31431
|
var _this$props$onFocus, _this$props;
|
|
31413
31432
|
(_this$props$onFocus = (_this$props = this.props).onFocus) === null || _this$props$onFocus === void 0 ? void 0 : _this$props$onFocus.call(_this$props, e);
|
|
@@ -32611,19 +32630,22 @@ var FilePreviewItem = function (_a) {
|
|
|
32611
32630
|
};
|
|
32612
32631
|
|
|
32613
32632
|
var CooldownTimer = function (_a) {
|
|
32614
|
-
var cooldownInterval = _a.cooldownInterval
|
|
32615
|
-
var _b = React.useState(
|
|
32633
|
+
var cooldownInterval = _a.cooldownInterval;
|
|
32634
|
+
var _b = React.useState(), seconds = _b[0], setSeconds = _b[1];
|
|
32616
32635
|
React.useEffect(function () {
|
|
32617
|
-
var
|
|
32618
|
-
|
|
32636
|
+
var countdownTimeout;
|
|
32637
|
+
if (typeof seconds === 'number' && seconds > 0) {
|
|
32638
|
+
countdownTimeout = setTimeout(function () {
|
|
32619
32639
|
setSeconds(seconds - 1);
|
|
32620
|
-
}
|
|
32621
|
-
|
|
32622
|
-
|
|
32623
|
-
|
|
32624
|
-
}
|
|
32625
|
-
|
|
32626
|
-
|
|
32640
|
+
}, 1000);
|
|
32641
|
+
}
|
|
32642
|
+
return function () {
|
|
32643
|
+
clearTimeout(countdownTimeout);
|
|
32644
|
+
};
|
|
32645
|
+
}, [seconds]);
|
|
32646
|
+
React.useEffect(function () {
|
|
32647
|
+
setSeconds(cooldownInterval !== null && cooldownInterval !== void 0 ? cooldownInterval : 0);
|
|
32648
|
+
}, [cooldownInterval]);
|
|
32627
32649
|
return (React__default["default"].createElement("div", { className: 'str-chat__message-input-cooldown', "data-testid": 'cooldown-timer' }, seconds));
|
|
32628
32650
|
};
|
|
32629
32651
|
|
|
@@ -33353,11 +33375,20 @@ var useCooldownTimer = function () {
|
|
|
33353
33375
|
? // prevent negative values
|
|
33354
33376
|
Math.max(0, (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000)
|
|
33355
33377
|
: undefined;
|
|
33356
|
-
|
|
33378
|
+
var remaining = !skipCooldown &&
|
|
33357
33379
|
typeof timeSinceOwnLastMessage !== 'undefined' &&
|
|
33358
33380
|
cooldownInterval > timeSinceOwnLastMessage
|
|
33359
33381
|
? Math.round(cooldownInterval - timeSinceOwnLastMessage)
|
|
33360
|
-
: 0
|
|
33382
|
+
: 0;
|
|
33383
|
+
setCooldownRemaining(remaining);
|
|
33384
|
+
if (!remaining)
|
|
33385
|
+
return;
|
|
33386
|
+
var timeout = setTimeout(function () {
|
|
33387
|
+
setCooldownRemaining(0);
|
|
33388
|
+
}, remaining * 1000);
|
|
33389
|
+
return function () {
|
|
33390
|
+
clearTimeout(timeout);
|
|
33391
|
+
};
|
|
33361
33392
|
}, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
|
|
33362
33393
|
return {
|
|
33363
33394
|
cooldownInterval: cooldownInterval,
|
|
@@ -35276,9 +35307,9 @@ var ChannelInner = function (props) {
|
|
|
35276
35307
|
var markReadThrottled = throttle__default["default"](markRead, 500, { leading: true, trailing: true });
|
|
35277
35308
|
var handleEvent = function (event) { return icons.__awaiter(void 0, void 0, void 0, function () {
|
|
35278
35309
|
var mainChannelUpdated, unread, messageDate, cid, oldestID;
|
|
35279
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
|
35280
|
-
return icons.__generator(this, function (
|
|
35281
|
-
switch (
|
|
35310
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
35311
|
+
return icons.__generator(this, function (_k) {
|
|
35312
|
+
switch (_k.label) {
|
|
35282
35313
|
case 0:
|
|
35283
35314
|
if (event.message) {
|
|
35284
35315
|
dispatch({
|
|
@@ -35300,7 +35331,7 @@ var ChannelInner = function (props) {
|
|
|
35300
35331
|
if (((_a = event.message) === null || _a === void 0 ? void 0 : _a.parent_id) && !((_b = event.message) === null || _b === void 0 ? void 0 : _b.show_in_channel)) {
|
|
35301
35332
|
mainChannelUpdated = false;
|
|
35302
35333
|
}
|
|
35303
|
-
if (mainChannelUpdated
|
|
35334
|
+
if (mainChannelUpdated) {
|
|
35304
35335
|
if (!document.hidden) {
|
|
35305
35336
|
markReadThrottled();
|
|
35306
35337
|
}
|
|
@@ -35314,9 +35345,9 @@ var ChannelInner = function (props) {
|
|
|
35314
35345
|
}
|
|
35315
35346
|
}
|
|
35316
35347
|
}
|
|
35317
|
-
if (((
|
|
35318
|
-
((
|
|
35319
|
-
((
|
|
35348
|
+
if (((_d = (_c = event.message) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.id) === client.userID &&
|
|
35349
|
+
((_e = event === null || event === void 0 ? void 0 : event.message) === null || _e === void 0 ? void 0 : _e.created_at) &&
|
|
35350
|
+
((_f = event === null || event === void 0 ? void 0 : event.message) === null || _f === void 0 ? void 0 : _f.cid)) {
|
|
35320
35351
|
messageDate = new Date(event.message.created_at);
|
|
35321
35352
|
cid = event.message.cid;
|
|
35322
35353
|
if (!latestMessageDatesByChannels[cid] ||
|
|
@@ -35326,7 +35357,7 @@ var ChannelInner = function (props) {
|
|
|
35326
35357
|
}
|
|
35327
35358
|
}
|
|
35328
35359
|
if (!(event.type === 'user.deleted')) return [3 /*break*/, 2];
|
|
35329
|
-
oldestID = (
|
|
35360
|
+
oldestID = (_j = (_h = (_g = channel.state) === null || _g === void 0 ? void 0 : _g.messages) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.id;
|
|
35330
35361
|
/**
|
|
35331
35362
|
* As the channel state is not normalized we re-fetch the channel data. Thus, we avoid having to search for user references in the channel state.
|
|
35332
35363
|
*/
|
|
@@ -35340,8 +35371,8 @@ var ChannelInner = function (props) {
|
|
|
35340
35371
|
* As the channel state is not normalized we re-fetch the channel data. Thus, we avoid having to search for user references in the channel state.
|
|
35341
35372
|
*/
|
|
35342
35373
|
// FIXME: we should use channelQueryOptions if they are available
|
|
35343
|
-
|
|
35344
|
-
|
|
35374
|
+
_k.sent();
|
|
35375
|
+
_k.label = 2;
|
|
35345
35376
|
case 2:
|
|
35346
35377
|
throttledCopyStateFromChannel();
|
|
35347
35378
|
return [2 /*return*/];
|
|
@@ -35403,6 +35434,13 @@ var ChannelInner = function (props) {
|
|
|
35403
35434
|
hasMore: hasMoreMessagesProbably(channel.state.messages.length, (_e = (_d = channelQueryOptions === null || channelQueryOptions === void 0 ? void 0 : channelQueryOptions.messages) === null || _d === void 0 ? void 0 : _d.limit) !== null && _e !== void 0 ? _e : DEFAULT_INITIAL_CHANNEL_PAGE_SIZE),
|
|
35404
35435
|
type: 'initStateFromChannel',
|
|
35405
35436
|
});
|
|
35437
|
+
/**
|
|
35438
|
+
* TODO: maybe pass last_read to the countUnread method to get proper value
|
|
35439
|
+
* combined with channel.countUnread adjustment (_countMessageAsUnread)
|
|
35440
|
+
* to allow counting own messages too
|
|
35441
|
+
*
|
|
35442
|
+
* const lastRead = channel.state.read[client.userID as string].last_read;
|
|
35443
|
+
*/
|
|
35406
35444
|
if (channel.countUnread() > 0)
|
|
35407
35445
|
markRead();
|
|
35408
35446
|
// The more complex sync logic is done in Chat
|
|
@@ -36210,22 +36248,27 @@ var moveChannelUp = function (_a) {
|
|
|
36210
36248
|
return uniqBy__default["default"](icons.__spreadArray([channel], channels, true), 'cid');
|
|
36211
36249
|
};
|
|
36212
36250
|
|
|
36213
|
-
var useMessageNewListener = function (setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels) {
|
|
36251
|
+
var useMessageNewListener = function (setChannels, customHandler, lockChannelOrder, allowNewMessagesFromUnfilteredChannels) {
|
|
36214
36252
|
if (lockChannelOrder === void 0) { lockChannelOrder = false; }
|
|
36215
36253
|
if (allowNewMessagesFromUnfilteredChannels === void 0) { allowNewMessagesFromUnfilteredChannels = true; }
|
|
36216
36254
|
var client = icons.useChatContext('useMessageNewListener').client;
|
|
36217
36255
|
React.useEffect(function () {
|
|
36218
36256
|
var handleEvent = function (event) {
|
|
36219
|
-
|
|
36220
|
-
|
|
36221
|
-
|
|
36222
|
-
|
|
36223
|
-
|
|
36224
|
-
|
|
36225
|
-
|
|
36226
|
-
|
|
36227
|
-
|
|
36228
|
-
|
|
36257
|
+
if (customHandler && typeof customHandler === 'function') {
|
|
36258
|
+
customHandler(setChannels, event);
|
|
36259
|
+
}
|
|
36260
|
+
else {
|
|
36261
|
+
setChannels(function (channels) {
|
|
36262
|
+
var channelInList = channels.filter(function (channel) { return channel.cid === event.cid; }).length > 0;
|
|
36263
|
+
if (!channelInList && allowNewMessagesFromUnfilteredChannels && event.channel_type) {
|
|
36264
|
+
var channel = client.channel(event.channel_type, event.channel_id);
|
|
36265
|
+
return uniqBy__default["default"](icons.__spreadArray([channel], channels, true), 'cid');
|
|
36266
|
+
}
|
|
36267
|
+
if (!lockChannelOrder)
|
|
36268
|
+
return moveChannelUp({ channels: channels, cid: event.cid || '' });
|
|
36269
|
+
return channels;
|
|
36270
|
+
});
|
|
36271
|
+
}
|
|
36229
36272
|
};
|
|
36230
36273
|
client.on('message.new', handleEvent);
|
|
36231
36274
|
return function () {
|
|
@@ -37063,7 +37106,7 @@ var DEFAULT_OPTIONS = {};
|
|
|
37063
37106
|
var DEFAULT_SORT = {};
|
|
37064
37107
|
var UnMemoizedChannelList = function (props) {
|
|
37065
37108
|
var _a, _b;
|
|
37066
|
-
var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, recoveryThrottleIntervalMs = props.recoveryThrottleIntervalMs, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
|
|
37109
|
+
var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onMessageNewHandler = props.onMessageNewHandler, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, recoveryThrottleIntervalMs = props.recoveryThrottleIntervalMs, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
|
|
37067
37110
|
var _q = icons.useChatContext('ChannelList'), channel = _q.channel, channelsQueryState = _q.channelsQueryState, client = _q.client, closeMobileNav = _q.closeMobileNav, customClasses = _q.customClasses, _r = _q.navOpen, navOpen = _r === void 0 ? false : _r, setActiveChannel = _q.setActiveChannel, theme = _q.theme, useImageFlagEmojisOnWindows = _q.useImageFlagEmojisOnWindows;
|
|
37068
37111
|
var channelListRef = React.useRef(null);
|
|
37069
37112
|
var _s = React.useState(0), channelUpdateCount = _s[0], setChannelUpdateCount = _s[1];
|
|
@@ -37130,7 +37173,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
37130
37173
|
var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler, recoveryThrottleIntervalMs), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
|
|
37131
37174
|
var loadedChannels = channelRenderFilterFn ? channelRenderFilterFn(channels) : channels;
|
|
37132
37175
|
useMobileNavigation(channelListRef, navOpen, closeMobileNav);
|
|
37133
|
-
useMessageNewListener(setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels);
|
|
37176
|
+
useMessageNewListener(setChannels, onMessageNewHandler, lockChannelOrder, allowNewMessagesFromUnfilteredChannels);
|
|
37134
37177
|
useNotificationMessageNewListener(setChannels, onMessageNew, allowNewMessagesFromUnfilteredChannels);
|
|
37135
37178
|
useNotificationAddedToChannelListener(setChannels, onAddedToChannel, allowNewMessagesFromUnfilteredChannels);
|
|
37136
37179
|
useNotificationRemovedFromChannelListener(setChannels, onRemovedFromChannel);
|
|
@@ -37186,7 +37229,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
37186
37229
|
*/
|
|
37187
37230
|
var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
|
|
37188
37231
|
|
|
37189
|
-
var version = '11.
|
|
37232
|
+
var version = '11.2.0';
|
|
37190
37233
|
|
|
37191
37234
|
var useChat = function (_a) {
|
|
37192
37235
|
var _b, _c;
|
|
@@ -127,6 +127,9 @@ $ig-shadow: 0 2px 2px lighten($ig-black, 10%);
|
|
|
127
127
|
@include vendor-prefix('user-select', none);
|
|
128
128
|
-webkit-tap-highlight-color: $ig-transparent;
|
|
129
129
|
position: relative;
|
|
130
|
+
display: flex;
|
|
131
|
+
justify-content: center;
|
|
132
|
+
align-items: center;
|
|
130
133
|
|
|
131
134
|
&.fullscreen-modal {
|
|
132
135
|
background: $ig-black;
|
|
@@ -151,6 +154,22 @@ $ig-shadow: 0 2px 2px lighten($ig-black, 10%);
|
|
|
151
154
|
line-height: 0;
|
|
152
155
|
top: 0;
|
|
153
156
|
|
|
157
|
+
.image-gallery-slide {
|
|
158
|
+
background-color: var(--str-chat__secondary-surface-color);
|
|
159
|
+
|
|
160
|
+
.str-chat__base-image--load-failed {
|
|
161
|
+
height: var(--str-chat__attachment-max-width);
|
|
162
|
+
width: var(--str-chat__attachment-max-width);
|
|
163
|
+
font-size: 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.str-chat__message-attachment-file--item-download {
|
|
167
|
+
position: absolute;
|
|
168
|
+
left: 0.375rem;
|
|
169
|
+
top: 0.375rem;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
154
173
|
&.fullscreen {
|
|
155
174
|
background: $ig-black;
|
|
156
175
|
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "11.
|
|
1
|
+
export declare const version = "11.2.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export var version = '11.
|
|
1
|
+
export var version = '11.2.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.2.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/",
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"@semantic-release/changelog": "^6.0.2",
|
|
143
143
|
"@semantic-release/git": "^10.0.1",
|
|
144
144
|
"@stream-io/rollup-plugin-node-builtins": "^2.1.5",
|
|
145
|
-
"@stream-io/stream-chat-css": "^4.
|
|
145
|
+
"@stream-io/stream-chat-css": "^4.2.0",
|
|
146
146
|
"@testing-library/jest-dom": "^6.1.4",
|
|
147
147
|
"@testing-library/react": "^13.1.1",
|
|
148
148
|
"@testing-library/react-hooks": "^8.0.0",
|