stream-chat-react 11.22.0 → 11.23.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-b4032c33.js → Window-a963f22a.js} +66 -19
- package/dist/browser.full-bundle.js +204 -155
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +3 -3
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/components/WaveProgressBar.d.ts +3 -1
- package/dist/components/Attachment/components/WaveProgressBar.d.ts.map +1 -1
- package/dist/components/Attachment/components/WaveProgressBar.js +48 -10
- package/dist/components/Channel/channelState.d.ts.map +1 -1
- package/dist/components/Channel/channelState.js +1 -1
- package/dist/components/Emojis/index.cjs.js +2 -2
- package/dist/components/Message/Timestamp.js +1 -1
- package/dist/components/MessageList/MessageList.d.ts +3 -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 +3 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +3 -3
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +4 -3
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +2 -1
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +3 -3
- package/dist/components/MessageList/utils.d.ts +1 -1
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/MessageList/utils.js +16 -6
- package/dist/index.cjs.js +14 -12
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -12,10 +12,10 @@ var utc = require('dayjs/plugin/utc');
|
|
|
12
12
|
var timezone = require('dayjs/plugin/timezone');
|
|
13
13
|
var ReactPlayer = require('react-player');
|
|
14
14
|
var sanitizeUrl = require('@braintree/sanitize-url');
|
|
15
|
+
var throttle = require('lodash.throttle');
|
|
15
16
|
var PropTypes = require('prop-types');
|
|
16
17
|
var ImageGallery = require('react-image-gallery');
|
|
17
18
|
var linkify = require('linkifyjs');
|
|
18
|
-
var throttle = require('lodash.throttle');
|
|
19
19
|
var emojiRegex = require('emoji-regex');
|
|
20
20
|
var uniqBy = require('lodash.uniqby');
|
|
21
21
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
@@ -75,10 +75,10 @@ var relativeTime__default = /*#__PURE__*/_interopDefaultLegacy(relativeTime);
|
|
|
75
75
|
var utc__default = /*#__PURE__*/_interopDefaultLegacy(utc);
|
|
76
76
|
var timezone__default = /*#__PURE__*/_interopDefaultLegacy(timezone);
|
|
77
77
|
var ReactPlayer__default = /*#__PURE__*/_interopDefaultLegacy(ReactPlayer);
|
|
78
|
+
var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
|
|
78
79
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
79
80
|
var ImageGallery__default = /*#__PURE__*/_interopDefaultLegacy(ImageGallery);
|
|
80
81
|
var linkify__namespace = /*#__PURE__*/_interopNamespace(linkify);
|
|
81
|
-
var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
|
|
82
82
|
var emojiRegex__default = /*#__PURE__*/_interopDefaultLegacy(emojiRegex);
|
|
83
83
|
var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
|
|
84
84
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
@@ -1537,10 +1537,12 @@ var upSample = function (values, targetSize) {
|
|
|
1537
1537
|
};
|
|
1538
1538
|
|
|
1539
1539
|
var WaveProgressBar = function (_a) {
|
|
1540
|
-
var _b = _a.amplitudesCount, amplitudesCount = _b === void 0 ? 40 : _b, _c = _a.progress, progress = _c === void 0 ? 0 : _c, seek = _a.seek, waveformData = _a.waveformData;
|
|
1541
|
-
var
|
|
1540
|
+
var _b = _a.amplitudesCount, amplitudesCount = _b === void 0 ? 40 : _b, _c = _a.progress, progress = _c === void 0 ? 0 : _c, _d = _a.relativeAmplitudeBarWidth, relativeAmplitudeBarWidth = _d === void 0 ? 2 : _d, _e = _a.relativeAmplitudeGap, relativeAmplitudeGap = _e === void 0 ? 1 : _e, seek = _a.seek, waveformData = _a.waveformData;
|
|
1541
|
+
var _f = React.useState(null), progressIndicator = _f[0], setProgressIndicator = _f[1];
|
|
1542
1542
|
var isDragging = React.useRef(false);
|
|
1543
|
-
var
|
|
1543
|
+
var _g = React.useState(null), root = _g[0], setRoot = _g[1];
|
|
1544
|
+
var _h = React.useState(), trackAxisX = _h[0], setTrackAxisX = _h[1];
|
|
1545
|
+
var lastRootWidth = React.useRef();
|
|
1544
1546
|
var handleDragStart = function (e) {
|
|
1545
1547
|
e.preventDefault();
|
|
1546
1548
|
if (!progressIndicator)
|
|
@@ -1561,24 +1563,59 @@ var WaveProgressBar = function (_a) {
|
|
|
1561
1563
|
isDragging.current = false;
|
|
1562
1564
|
progressIndicator.style.removeProperty('cursor');
|
|
1563
1565
|
}, [progressIndicator]);
|
|
1564
|
-
var
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1566
|
+
var getTrackAxisX = React.useMemo(function () {
|
|
1567
|
+
return throttle__default["default"](function (rootWidth) {
|
|
1568
|
+
if (rootWidth === lastRootWidth.current)
|
|
1569
|
+
return;
|
|
1570
|
+
lastRootWidth.current = rootWidth;
|
|
1571
|
+
var possibleAmpCount = Math.floor(rootWidth / (relativeAmplitudeGap + relativeAmplitudeBarWidth));
|
|
1572
|
+
var tooManyAmplitudesToRender = possibleAmpCount < amplitudesCount;
|
|
1573
|
+
var barCount = tooManyAmplitudesToRender ? possibleAmpCount : amplitudesCount;
|
|
1574
|
+
var amplitudeBarWidthToGapRatio = relativeAmplitudeBarWidth / (relativeAmplitudeBarWidth + relativeAmplitudeGap);
|
|
1575
|
+
var barWidth = barCount && (rootWidth / barCount) * amplitudeBarWidthToGapRatio;
|
|
1576
|
+
setTrackAxisX({
|
|
1577
|
+
barCount: barCount,
|
|
1578
|
+
barWidth: barWidth,
|
|
1579
|
+
gap: barWidth * (relativeAmplitudeGap / relativeAmplitudeBarWidth),
|
|
1580
|
+
});
|
|
1581
|
+
}, 1);
|
|
1582
|
+
}, [relativeAmplitudeBarWidth, relativeAmplitudeGap, amplitudesCount]);
|
|
1583
|
+
var resampledWaveformData = React.useMemo(function () { return (trackAxisX ? resampleWaveformData(waveformData, trackAxisX.barCount) : []); }, [trackAxisX, waveformData]);
|
|
1568
1584
|
React.useEffect(function () {
|
|
1569
1585
|
document.addEventListener('pointerup', handleDragStop);
|
|
1570
1586
|
return function () {
|
|
1571
1587
|
document.removeEventListener('pointerup', handleDragStop);
|
|
1572
1588
|
};
|
|
1573
1589
|
}, [handleDragStop]);
|
|
1574
|
-
|
|
1590
|
+
React.useEffect(function () {
|
|
1591
|
+
if (!root || typeof ResizeObserver === 'undefined')
|
|
1592
|
+
return;
|
|
1593
|
+
var observer = new ResizeObserver(function (_a) {
|
|
1594
|
+
var entry = _a[0];
|
|
1595
|
+
getTrackAxisX(entry.contentRect.width);
|
|
1596
|
+
});
|
|
1597
|
+
observer.observe(root);
|
|
1598
|
+
return function () {
|
|
1599
|
+
observer.disconnect();
|
|
1600
|
+
};
|
|
1601
|
+
}, [getTrackAxisX, root]);
|
|
1602
|
+
React.useLayoutEffect(function () {
|
|
1603
|
+
if (!root)
|
|
1604
|
+
return;
|
|
1605
|
+
var rootWidth = root.getBoundingClientRect().width;
|
|
1606
|
+
getTrackAxisX(rootWidth);
|
|
1607
|
+
}, [getTrackAxisX, root]);
|
|
1608
|
+
if (!waveformData.length || (trackAxisX === null || trackAxisX === void 0 ? void 0 : trackAxisX.barCount) === 0)
|
|
1575
1609
|
return null;
|
|
1576
|
-
return (React__default["default"].createElement("div", { className: 'str-chat__wave-progress-bar__track', "data-testid": 'wave-progress-bar-track', onClick: seek, onPointerDown: handleDragStart, onPointerMove: handleDrag, onPointerUp: handleDragStop, ref:
|
|
1610
|
+
return (React__default["default"].createElement("div", { className: 'str-chat__wave-progress-bar__track', "data-testid": 'wave-progress-bar-track', onClick: seek, onPointerDown: handleDragStart, onPointerMove: handleDrag, onPointerUp: handleDragStop, ref: setRoot, role: 'progressbar', style: {
|
|
1611
|
+
'--str-chat__voice-recording-amplitude-bar-gap-width': (trackAxisX === null || trackAxisX === void 0 ? void 0 : trackAxisX.gap) + 'px',
|
|
1612
|
+
} },
|
|
1577
1613
|
resampledWaveformData.map(function (amplitude, i) {
|
|
1578
1614
|
var _a;
|
|
1579
1615
|
return (React__default["default"].createElement("div", { className: clsx('str-chat__wave-progress-bar__amplitude-bar', (_a = {},
|
|
1580
1616
|
_a['str-chat__wave-progress-bar__amplitude-bar--active'] = progress > (i / resampledWaveformData.length) * 100,
|
|
1581
1617
|
_a)), "data-testid": 'amplitude-bar', key: "amplitude-".concat(i), style: {
|
|
1618
|
+
'--str-chat__voice-recording-amplitude-bar-width': (trackAxisX === null || trackAxisX === void 0 ? void 0 : trackAxisX.barWidth) + 'px',
|
|
1582
1619
|
'--str-chat__wave-progress-bar__amplitude-bar-height': amplitude
|
|
1583
1620
|
? amplitude * 100 + '%'
|
|
1584
1621
|
: '0%',
|
|
@@ -36308,7 +36345,7 @@ var channelReducer = function (state, action) {
|
|
|
36308
36345
|
}
|
|
36309
36346
|
case 'openThread': {
|
|
36310
36347
|
var channel = action.channel, message = action.message;
|
|
36311
|
-
return exports.__assign(exports.__assign({}, state), { thread: message, threadMessages: message.id ? exports.__assign({}, channel.state.threads)[message.id] || [] : [], threadSuppressAutoscroll: false });
|
|
36348
|
+
return exports.__assign(exports.__assign({}, state), { thread: message, threadHasMore: true, threadMessages: message.id ? exports.__assign({}, channel.state.threads)[message.id] || [] : [], threadSuppressAutoscroll: false });
|
|
36312
36349
|
}
|
|
36313
36350
|
case 'setError': {
|
|
36314
36351
|
var error = action.error;
|
|
@@ -39320,7 +39357,7 @@ function Timestamp(props) {
|
|
|
39320
39357
|
messageCreatedAt: normalizedTimestamp,
|
|
39321
39358
|
t: t,
|
|
39322
39359
|
tDateTimeParser: tDateTimeParser,
|
|
39323
|
-
timestampTranslationKey: 'timestamp/
|
|
39360
|
+
timestampTranslationKey: 'timestamp/MessageTimestamp',
|
|
39324
39361
|
});
|
|
39325
39362
|
}, [calendar, calendarFormats, format, formatDate, normalizedTimestamp, t, tDateTimeParser]);
|
|
39326
39363
|
if (!when) {
|
|
@@ -46448,7 +46485,7 @@ var insertIntro = function (messages, headerPosition) {
|
|
|
46448
46485
|
}
|
|
46449
46486
|
return newMessages;
|
|
46450
46487
|
};
|
|
46451
|
-
var getGroupStyles = function (message, previousMessage, nextMessage, noGroupByUser) {
|
|
46488
|
+
var getGroupStyles = function (message, previousMessage, nextMessage, noGroupByUser, maxTimeBetweenGroupedMessages) {
|
|
46452
46489
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
46453
46490
|
if (message.customType === CUSTOM_MESSAGE_TYPE.date)
|
|
46454
46491
|
return '';
|
|
@@ -46460,22 +46497,32 @@ var getGroupStyles = function (message, previousMessage, nextMessage, noGroupByU
|
|
|
46460
46497
|
previousMessage.customType === CUSTOM_MESSAGE_TYPE.intro ||
|
|
46461
46498
|
previousMessage.customType === CUSTOM_MESSAGE_TYPE.date ||
|
|
46462
46499
|
previousMessage.type === 'system' ||
|
|
46500
|
+
previousMessage.type === 'error' ||
|
|
46463
46501
|
((_b = previousMessage.attachments) === null || _b === void 0 ? void 0 : _b.length) !== 0 ||
|
|
46464
46502
|
((_c = message.user) === null || _c === void 0 ? void 0 : _c.id) !== ((_d = previousMessage.user) === null || _d === void 0 ? void 0 : _d.id) ||
|
|
46465
|
-
previousMessage.type === 'error' ||
|
|
46466
46503
|
previousMessage.deleted_at ||
|
|
46467
46504
|
(message.reaction_groups && Object.keys(message.reaction_groups).length > 0) ||
|
|
46468
|
-
isMessageEdited(previousMessage)
|
|
46505
|
+
isMessageEdited(previousMessage) ||
|
|
46506
|
+
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
46507
|
+
previousMessage.created_at &&
|
|
46508
|
+
message.created_at &&
|
|
46509
|
+
new Date(message.created_at).getTime() - new Date(previousMessage.created_at).getTime() >
|
|
46510
|
+
maxTimeBetweenGroupedMessages);
|
|
46469
46511
|
var isBottomMessage = !nextMessage ||
|
|
46512
|
+
nextMessage.customType === CUSTOM_MESSAGE_TYPE.intro ||
|
|
46470
46513
|
nextMessage.customType === CUSTOM_MESSAGE_TYPE.date ||
|
|
46471
46514
|
nextMessage.type === 'system' ||
|
|
46472
|
-
nextMessage.
|
|
46515
|
+
nextMessage.type === 'error' ||
|
|
46473
46516
|
((_e = nextMessage.attachments) === null || _e === void 0 ? void 0 : _e.length) !== 0 ||
|
|
46474
46517
|
((_f = message.user) === null || _f === void 0 ? void 0 : _f.id) !== ((_g = nextMessage.user) === null || _g === void 0 ? void 0 : _g.id) ||
|
|
46475
|
-
nextMessage.type === 'error' ||
|
|
46476
46518
|
nextMessage.deleted_at ||
|
|
46477
46519
|
(nextMessage.reaction_groups && Object.keys(nextMessage.reaction_groups).length > 0) ||
|
|
46478
|
-
isMessageEdited(message)
|
|
46520
|
+
isMessageEdited(message) ||
|
|
46521
|
+
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
46522
|
+
nextMessage.created_at &&
|
|
46523
|
+
message.created_at &&
|
|
46524
|
+
new Date(nextMessage.created_at).getTime() - new Date(message.created_at).getTime() >
|
|
46525
|
+
maxTimeBetweenGroupedMessages);
|
|
46479
46526
|
if (!isTopMessage && !isBottomMessage) {
|
|
46480
46527
|
if (message.deleted_at || message.type === 'error')
|
|
46481
46528
|
return 'single';
|