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
|
@@ -10026,142 +10026,6 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
10026
10026
|
return (React__default["default"].createElement("button", { className: 'str-chat__message-attachment-audio-widget--play-button', "data-testid": isPlaying ? 'pause-audio' : 'play-audio', onClick: onClick }, isPlaying ? React__default["default"].createElement(PauseIcon$1, null) : React__default["default"].createElement(PlayTriangleIcon, null)));
|
|
10027
10027
|
};
|
|
10028
10028
|
|
|
10029
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var resampleWaveformData = function (waveformData, amplitudesCount) {
|
|
10030
|
-
return waveformData.length === amplitudesCount
|
|
10031
|
-
? waveformData
|
|
10032
|
-
: waveformData.length > amplitudesCount
|
|
10033
|
-
? downSample(waveformData, amplitudesCount)
|
|
10034
|
-
: upSample(waveformData, amplitudesCount);
|
|
10035
|
-
};
|
|
10036
|
-
/**
|
|
10037
|
-
* The downSample function uses the Largest-Triangle-Three-Buckets (LTTB) algorithm.
|
|
10038
|
-
* See the thesis Downsampling Time Series for Visual Representation by Sveinn Steinarsson for more (https://skemman.is/bitstream/1946/15343/3/SS_MSthesis.pdf)
|
|
10039
|
-
* @param data
|
|
10040
|
-
* @param targetOutputSize
|
|
10041
|
-
*/
|
|
10042
|
-
function downSample(data, targetOutputSize) {
|
|
10043
|
-
if (data.length <= targetOutputSize || targetOutputSize === 0) {
|
|
10044
|
-
return data;
|
|
10045
|
-
}
|
|
10046
|
-
if (targetOutputSize === 1)
|
|
10047
|
-
return [mean(data)];
|
|
10048
|
-
var result = [];
|
|
10049
|
-
// bucket size adjusted due to the fact that the first and the last item in the original data array is kept in target output
|
|
10050
|
-
var bucketSize = (data.length - 2) / (targetOutputSize - 2);
|
|
10051
|
-
var lastSelectedPointIndex = 0;
|
|
10052
|
-
result.push(data[lastSelectedPointIndex]); // Always add the first point
|
|
10053
|
-
var maxAreaPoint, maxArea, triangleArea;
|
|
10054
|
-
for (var bucketIndex = 1; bucketIndex < targetOutputSize - 1; bucketIndex++) {
|
|
10055
|
-
var previousBucketRefPoint = data[lastSelectedPointIndex];
|
|
10056
|
-
var nextBucketMean = getNextBucketMean(data, bucketIndex, bucketSize);
|
|
10057
|
-
var currentBucketStartIndex = Math.floor((bucketIndex - 1) * bucketSize) + 1;
|
|
10058
|
-
var nextBucketStartIndex = Math.floor(bucketIndex * bucketSize) + 1;
|
|
10059
|
-
var countUnitsBetweenAtoC = 1 + nextBucketStartIndex - currentBucketStartIndex;
|
|
10060
|
-
maxArea = triangleArea = -1;
|
|
10061
|
-
for (var currentPointIndex = currentBucketStartIndex; currentPointIndex < nextBucketStartIndex; currentPointIndex++) {
|
|
10062
|
-
var countUnitsBetweenAtoB = Math.abs(currentPointIndex - currentBucketStartIndex) + 1;
|
|
10063
|
-
var countUnitsBetweenBtoC = countUnitsBetweenAtoC - countUnitsBetweenAtoB;
|
|
10064
|
-
var currentPointValue = data[currentPointIndex];
|
|
10065
|
-
triangleArea = triangleAreaHeron(triangleBase(Math.abs(previousBucketRefPoint - currentPointValue), countUnitsBetweenAtoB), triangleBase(Math.abs(currentPointValue - nextBucketMean), countUnitsBetweenBtoC), triangleBase(Math.abs(previousBucketRefPoint - nextBucketMean), countUnitsBetweenAtoC));
|
|
10066
|
-
if (triangleArea > maxArea) {
|
|
10067
|
-
maxArea = triangleArea;
|
|
10068
|
-
maxAreaPoint = data[currentPointIndex];
|
|
10069
|
-
lastSelectedPointIndex = currentPointIndex;
|
|
10070
|
-
}
|
|
10071
|
-
}
|
|
10072
|
-
if (typeof maxAreaPoint !== 'undefined')
|
|
10073
|
-
result.push(maxAreaPoint);
|
|
10074
|
-
}
|
|
10075
|
-
result.push(data[data.length - 1]); // Always add the last point
|
|
10076
|
-
return result;
|
|
10077
|
-
}
|
|
10078
|
-
var triangleAreaHeron = function (a, b, c) {
|
|
10079
|
-
var s = (a + b + c) / 2;
|
|
10080
|
-
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
|
|
10081
|
-
};
|
|
10082
|
-
var triangleBase = function (a, b) { return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); };
|
|
10083
|
-
var mean = function (values) { return values.reduce(function (acc, value) { return acc + value; }, 0) / values.length; };
|
|
10084
|
-
var getNextBucketMean = function (data, currentBucketIndex, bucketSize) {
|
|
10085
|
-
var nextBucketStartIndex = Math.floor(currentBucketIndex * bucketSize) + 1;
|
|
10086
|
-
var nextNextBucketStartIndex = Math.floor((currentBucketIndex + 1) * bucketSize) + 1;
|
|
10087
|
-
nextNextBucketStartIndex =
|
|
10088
|
-
nextNextBucketStartIndex < data.length ? nextNextBucketStartIndex : data.length;
|
|
10089
|
-
return mean(data.slice(nextBucketStartIndex, nextNextBucketStartIndex));
|
|
10090
|
-
};
|
|
10091
|
-
var upSample = function (values, targetSize) {
|
|
10092
|
-
if (!values.length) {
|
|
10093
|
-
console.warn('Cannot extend empty array of amplitudes.');
|
|
10094
|
-
return values;
|
|
10095
|
-
}
|
|
10096
|
-
if (values.length > targetSize) {
|
|
10097
|
-
console.warn('Requested to extend the waveformData that is longer than the target list size');
|
|
10098
|
-
return values;
|
|
10099
|
-
}
|
|
10100
|
-
if (targetSize === values.length)
|
|
10101
|
-
return values;
|
|
10102
|
-
// eslint-disable-next-line prefer-const
|
|
10103
|
-
var _a = divMod(targetSize, values.length), bucketSize = _a[0], remainder = _a[1];
|
|
10104
|
-
var result = [];
|
|
10105
|
-
for (var i = 0; i < values.length; i++) {
|
|
10106
|
-
var extra = remainder && remainder-- ? 1 : 0;
|
|
10107
|
-
result.push.apply(result, Array(bucketSize + extra).fill(values[i]));
|
|
10108
|
-
}
|
|
10109
|
-
return result;
|
|
10110
|
-
};
|
|
10111
|
-
|
|
10112
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var WaveProgressBar = function (_a) {
|
|
10113
|
-
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;
|
|
10114
|
-
var _d = React$2.useState(null), progressIndicator = _d[0], setProgressIndicator = _d[1];
|
|
10115
|
-
var isDragging = React$2.useRef(false);
|
|
10116
|
-
var rootRef = React$2.useRef(null);
|
|
10117
|
-
var handleDragStart = function (e) {
|
|
10118
|
-
e.preventDefault();
|
|
10119
|
-
if (!progressIndicator)
|
|
10120
|
-
return;
|
|
10121
|
-
isDragging.current = true;
|
|
10122
|
-
progressIndicator.style.cursor = 'grabbing';
|
|
10123
|
-
};
|
|
10124
|
-
var handleDrag = function (e) {
|
|
10125
|
-
if (!isDragging.current)
|
|
10126
|
-
return;
|
|
10127
|
-
// Due to throttling of seek, it is necessary to create a copy (snapshot) of the event.
|
|
10128
|
-
// Otherwise, the event would be nullified at the point when the throttled function is executed.
|
|
10129
|
-
seek(__assign({}, e));
|
|
10130
|
-
};
|
|
10131
|
-
var handleDragStop = React$2.useCallback(function () {
|
|
10132
|
-
if (!progressIndicator)
|
|
10133
|
-
return;
|
|
10134
|
-
isDragging.current = false;
|
|
10135
|
-
progressIndicator.style.removeProperty('cursor');
|
|
10136
|
-
}, [progressIndicator]);
|
|
10137
|
-
var resampledWaveformData = React$2.useMemo(function () { return resampleWaveformData(waveformData, amplitudesCount); }, [
|
|
10138
|
-
amplitudesCount,
|
|
10139
|
-
waveformData,
|
|
10140
|
-
]);
|
|
10141
|
-
React$2.useEffect(function () {
|
|
10142
|
-
document.addEventListener('pointerup', handleDragStop);
|
|
10143
|
-
return function () {
|
|
10144
|
-
document.removeEventListener('pointerup', handleDragStop);
|
|
10145
|
-
};
|
|
10146
|
-
}, [handleDragStop]);
|
|
10147
|
-
if (!waveformData.length)
|
|
10148
|
-
return null;
|
|
10149
|
-
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: rootRef, role: 'progressbar' },
|
|
10150
|
-
resampledWaveformData.map(function (amplitude, i) {
|
|
10151
|
-
var _a;
|
|
10152
|
-
return (React__default["default"].createElement("div", { className: clsx('str-chat__wave-progress-bar__amplitude-bar', (_a = {},
|
|
10153
|
-
_a['str-chat__wave-progress-bar__amplitude-bar--active'] = progress > (i / resampledWaveformData.length) * 100,
|
|
10154
|
-
_a)), "data-testid": 'amplitude-bar', key: "amplitude-".concat(i), style: {
|
|
10155
|
-
'--str-chat__wave-progress-bar__amplitude-bar-height': amplitude
|
|
10156
|
-
? amplitude * 100 + '%'
|
|
10157
|
-
: '0%',
|
|
10158
|
-
} }));
|
|
10159
|
-
}),
|
|
10160
|
-
React__default["default"].createElement("div", { className: 'str-chat__wave-progress-bar__progress-indicator', "data-testid": 'wave-progress-bar-progress-indicator', ref: setProgressIndicator, style: { left: "".concat(progress < 0 ? 0 : progress > 100 ? 100 : progress, "%") } })));
|
|
10161
|
-
};
|
|
10162
|
-
|
|
10163
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
10164
|
-
|
|
10165
10029
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
|
|
10166
10030
|
* lodash (Custom Build) <https://lodash.com/>
|
|
10167
10031
|
* Build: `lodash modularize exports="npm" -o ./`
|
|
@@ -10602,6 +10466,179 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
10602
10466
|
|
|
10603
10467
|
var lodash_throttle = throttle;
|
|
10604
10468
|
|
|
10469
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var resampleWaveformData = function (waveformData, amplitudesCount) {
|
|
10470
|
+
return waveformData.length === amplitudesCount
|
|
10471
|
+
? waveformData
|
|
10472
|
+
: waveformData.length > amplitudesCount
|
|
10473
|
+
? downSample(waveformData, amplitudesCount)
|
|
10474
|
+
: upSample(waveformData, amplitudesCount);
|
|
10475
|
+
};
|
|
10476
|
+
/**
|
|
10477
|
+
* The downSample function uses the Largest-Triangle-Three-Buckets (LTTB) algorithm.
|
|
10478
|
+
* See the thesis Downsampling Time Series for Visual Representation by Sveinn Steinarsson for more (https://skemman.is/bitstream/1946/15343/3/SS_MSthesis.pdf)
|
|
10479
|
+
* @param data
|
|
10480
|
+
* @param targetOutputSize
|
|
10481
|
+
*/
|
|
10482
|
+
function downSample(data, targetOutputSize) {
|
|
10483
|
+
if (data.length <= targetOutputSize || targetOutputSize === 0) {
|
|
10484
|
+
return data;
|
|
10485
|
+
}
|
|
10486
|
+
if (targetOutputSize === 1)
|
|
10487
|
+
return [mean(data)];
|
|
10488
|
+
var result = [];
|
|
10489
|
+
// bucket size adjusted due to the fact that the first and the last item in the original data array is kept in target output
|
|
10490
|
+
var bucketSize = (data.length - 2) / (targetOutputSize - 2);
|
|
10491
|
+
var lastSelectedPointIndex = 0;
|
|
10492
|
+
result.push(data[lastSelectedPointIndex]); // Always add the first point
|
|
10493
|
+
var maxAreaPoint, maxArea, triangleArea;
|
|
10494
|
+
for (var bucketIndex = 1; bucketIndex < targetOutputSize - 1; bucketIndex++) {
|
|
10495
|
+
var previousBucketRefPoint = data[lastSelectedPointIndex];
|
|
10496
|
+
var nextBucketMean = getNextBucketMean(data, bucketIndex, bucketSize);
|
|
10497
|
+
var currentBucketStartIndex = Math.floor((bucketIndex - 1) * bucketSize) + 1;
|
|
10498
|
+
var nextBucketStartIndex = Math.floor(bucketIndex * bucketSize) + 1;
|
|
10499
|
+
var countUnitsBetweenAtoC = 1 + nextBucketStartIndex - currentBucketStartIndex;
|
|
10500
|
+
maxArea = triangleArea = -1;
|
|
10501
|
+
for (var currentPointIndex = currentBucketStartIndex; currentPointIndex < nextBucketStartIndex; currentPointIndex++) {
|
|
10502
|
+
var countUnitsBetweenAtoB = Math.abs(currentPointIndex - currentBucketStartIndex) + 1;
|
|
10503
|
+
var countUnitsBetweenBtoC = countUnitsBetweenAtoC - countUnitsBetweenAtoB;
|
|
10504
|
+
var currentPointValue = data[currentPointIndex];
|
|
10505
|
+
triangleArea = triangleAreaHeron(triangleBase(Math.abs(previousBucketRefPoint - currentPointValue), countUnitsBetweenAtoB), triangleBase(Math.abs(currentPointValue - nextBucketMean), countUnitsBetweenBtoC), triangleBase(Math.abs(previousBucketRefPoint - nextBucketMean), countUnitsBetweenAtoC));
|
|
10506
|
+
if (triangleArea > maxArea) {
|
|
10507
|
+
maxArea = triangleArea;
|
|
10508
|
+
maxAreaPoint = data[currentPointIndex];
|
|
10509
|
+
lastSelectedPointIndex = currentPointIndex;
|
|
10510
|
+
}
|
|
10511
|
+
}
|
|
10512
|
+
if (typeof maxAreaPoint !== 'undefined')
|
|
10513
|
+
result.push(maxAreaPoint);
|
|
10514
|
+
}
|
|
10515
|
+
result.push(data[data.length - 1]); // Always add the last point
|
|
10516
|
+
return result;
|
|
10517
|
+
}
|
|
10518
|
+
var triangleAreaHeron = function (a, b, c) {
|
|
10519
|
+
var s = (a + b + c) / 2;
|
|
10520
|
+
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
|
|
10521
|
+
};
|
|
10522
|
+
var triangleBase = function (a, b) { return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); };
|
|
10523
|
+
var mean = function (values) { return values.reduce(function (acc, value) { return acc + value; }, 0) / values.length; };
|
|
10524
|
+
var getNextBucketMean = function (data, currentBucketIndex, bucketSize) {
|
|
10525
|
+
var nextBucketStartIndex = Math.floor(currentBucketIndex * bucketSize) + 1;
|
|
10526
|
+
var nextNextBucketStartIndex = Math.floor((currentBucketIndex + 1) * bucketSize) + 1;
|
|
10527
|
+
nextNextBucketStartIndex =
|
|
10528
|
+
nextNextBucketStartIndex < data.length ? nextNextBucketStartIndex : data.length;
|
|
10529
|
+
return mean(data.slice(nextBucketStartIndex, nextNextBucketStartIndex));
|
|
10530
|
+
};
|
|
10531
|
+
var upSample = function (values, targetSize) {
|
|
10532
|
+
if (!values.length) {
|
|
10533
|
+
console.warn('Cannot extend empty array of amplitudes.');
|
|
10534
|
+
return values;
|
|
10535
|
+
}
|
|
10536
|
+
if (values.length > targetSize) {
|
|
10537
|
+
console.warn('Requested to extend the waveformData that is longer than the target list size');
|
|
10538
|
+
return values;
|
|
10539
|
+
}
|
|
10540
|
+
if (targetSize === values.length)
|
|
10541
|
+
return values;
|
|
10542
|
+
// eslint-disable-next-line prefer-const
|
|
10543
|
+
var _a = divMod(targetSize, values.length), bucketSize = _a[0], remainder = _a[1];
|
|
10544
|
+
var result = [];
|
|
10545
|
+
for (var i = 0; i < values.length; i++) {
|
|
10546
|
+
var extra = remainder && remainder-- ? 1 : 0;
|
|
10547
|
+
result.push.apply(result, Array(bucketSize + extra).fill(values[i]));
|
|
10548
|
+
}
|
|
10549
|
+
return result;
|
|
10550
|
+
};
|
|
10551
|
+
|
|
10552
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var WaveProgressBar = function (_a) {
|
|
10553
|
+
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;
|
|
10554
|
+
var _f = React$2.useState(null), progressIndicator = _f[0], setProgressIndicator = _f[1];
|
|
10555
|
+
var isDragging = React$2.useRef(false);
|
|
10556
|
+
var _g = React$2.useState(null), root = _g[0], setRoot = _g[1];
|
|
10557
|
+
var _h = React$2.useState(), trackAxisX = _h[0], setTrackAxisX = _h[1];
|
|
10558
|
+
var lastRootWidth = React$2.useRef();
|
|
10559
|
+
var handleDragStart = function (e) {
|
|
10560
|
+
e.preventDefault();
|
|
10561
|
+
if (!progressIndicator)
|
|
10562
|
+
return;
|
|
10563
|
+
isDragging.current = true;
|
|
10564
|
+
progressIndicator.style.cursor = 'grabbing';
|
|
10565
|
+
};
|
|
10566
|
+
var handleDrag = function (e) {
|
|
10567
|
+
if (!isDragging.current)
|
|
10568
|
+
return;
|
|
10569
|
+
// Due to throttling of seek, it is necessary to create a copy (snapshot) of the event.
|
|
10570
|
+
// Otherwise, the event would be nullified at the point when the throttled function is executed.
|
|
10571
|
+
seek(__assign({}, e));
|
|
10572
|
+
};
|
|
10573
|
+
var handleDragStop = React$2.useCallback(function () {
|
|
10574
|
+
if (!progressIndicator)
|
|
10575
|
+
return;
|
|
10576
|
+
isDragging.current = false;
|
|
10577
|
+
progressIndicator.style.removeProperty('cursor');
|
|
10578
|
+
}, [progressIndicator]);
|
|
10579
|
+
var getTrackAxisX = React$2.useMemo(function () {
|
|
10580
|
+
return lodash_throttle(function (rootWidth) {
|
|
10581
|
+
if (rootWidth === lastRootWidth.current)
|
|
10582
|
+
return;
|
|
10583
|
+
lastRootWidth.current = rootWidth;
|
|
10584
|
+
var possibleAmpCount = Math.floor(rootWidth / (relativeAmplitudeGap + relativeAmplitudeBarWidth));
|
|
10585
|
+
var tooManyAmplitudesToRender = possibleAmpCount < amplitudesCount;
|
|
10586
|
+
var barCount = tooManyAmplitudesToRender ? possibleAmpCount : amplitudesCount;
|
|
10587
|
+
var amplitudeBarWidthToGapRatio = relativeAmplitudeBarWidth / (relativeAmplitudeBarWidth + relativeAmplitudeGap);
|
|
10588
|
+
var barWidth = barCount && (rootWidth / barCount) * amplitudeBarWidthToGapRatio;
|
|
10589
|
+
setTrackAxisX({
|
|
10590
|
+
barCount: barCount,
|
|
10591
|
+
barWidth: barWidth,
|
|
10592
|
+
gap: barWidth * (relativeAmplitudeGap / relativeAmplitudeBarWidth),
|
|
10593
|
+
});
|
|
10594
|
+
}, 1);
|
|
10595
|
+
}, [relativeAmplitudeBarWidth, relativeAmplitudeGap, amplitudesCount]);
|
|
10596
|
+
var resampledWaveformData = React$2.useMemo(function () { return (trackAxisX ? resampleWaveformData(waveformData, trackAxisX.barCount) : []); }, [trackAxisX, waveformData]);
|
|
10597
|
+
React$2.useEffect(function () {
|
|
10598
|
+
document.addEventListener('pointerup', handleDragStop);
|
|
10599
|
+
return function () {
|
|
10600
|
+
document.removeEventListener('pointerup', handleDragStop);
|
|
10601
|
+
};
|
|
10602
|
+
}, [handleDragStop]);
|
|
10603
|
+
React$2.useEffect(function () {
|
|
10604
|
+
if (!root || typeof ResizeObserver === 'undefined')
|
|
10605
|
+
return;
|
|
10606
|
+
var observer = new ResizeObserver(function (_a) {
|
|
10607
|
+
var entry = _a[0];
|
|
10608
|
+
getTrackAxisX(entry.contentRect.width);
|
|
10609
|
+
});
|
|
10610
|
+
observer.observe(root);
|
|
10611
|
+
return function () {
|
|
10612
|
+
observer.disconnect();
|
|
10613
|
+
};
|
|
10614
|
+
}, [getTrackAxisX, root]);
|
|
10615
|
+
React$2.useLayoutEffect(function () {
|
|
10616
|
+
if (!root)
|
|
10617
|
+
return;
|
|
10618
|
+
var rootWidth = root.getBoundingClientRect().width;
|
|
10619
|
+
getTrackAxisX(rootWidth);
|
|
10620
|
+
}, [getTrackAxisX, root]);
|
|
10621
|
+
if (!waveformData.length || (trackAxisX === null || trackAxisX === void 0 ? void 0 : trackAxisX.barCount) === 0)
|
|
10622
|
+
return null;
|
|
10623
|
+
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: {
|
|
10624
|
+
'--str-chat__voice-recording-amplitude-bar-gap-width': (trackAxisX === null || trackAxisX === void 0 ? void 0 : trackAxisX.gap) + 'px',
|
|
10625
|
+
} },
|
|
10626
|
+
resampledWaveformData.map(function (amplitude, i) {
|
|
10627
|
+
var _a;
|
|
10628
|
+
return (React__default["default"].createElement("div", { className: clsx('str-chat__wave-progress-bar__amplitude-bar', (_a = {},
|
|
10629
|
+
_a['str-chat__wave-progress-bar__amplitude-bar--active'] = progress > (i / resampledWaveformData.length) * 100,
|
|
10630
|
+
_a)), "data-testid": 'amplitude-bar', key: "amplitude-".concat(i), style: {
|
|
10631
|
+
'--str-chat__voice-recording-amplitude-bar-width': (trackAxisX === null || trackAxisX === void 0 ? void 0 : trackAxisX.barWidth) + 'px',
|
|
10632
|
+
'--str-chat__wave-progress-bar__amplitude-bar-height': amplitude
|
|
10633
|
+
? amplitude * 100 + '%'
|
|
10634
|
+
: '0%',
|
|
10635
|
+
} }));
|
|
10636
|
+
}),
|
|
10637
|
+
React__default["default"].createElement("div", { className: 'str-chat__wave-progress-bar__progress-indicator', "data-testid": 'wave-progress-bar-progress-indicator', ref: setProgressIndicator, style: { left: "".concat(progress < 0 ? 0 : progress > 100 ? 100 : progress, "%") } })));
|
|
10638
|
+
};
|
|
10639
|
+
|
|
10640
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
10641
|
+
|
|
10605
10642
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var isSeekable = function (audioElement) {
|
|
10606
10643
|
return !(audioElement.duration === Infinity || isNaN(audioElement.duration));
|
|
10607
10644
|
};
|
|
@@ -48313,7 +48350,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
48313
48350
|
}
|
|
48314
48351
|
case 'openThread': {
|
|
48315
48352
|
var channel = action.channel, message = action.message;
|
|
48316
|
-
return __assign(__assign({}, state), { thread: message, threadMessages: message.id ? __assign({}, channel.state.threads)[message.id] || [] : [], threadSuppressAutoscroll: false });
|
|
48353
|
+
return __assign(__assign({}, state), { thread: message, threadHasMore: true, threadMessages: message.id ? __assign({}, channel.state.threads)[message.id] || [] : [], threadSuppressAutoscroll: false });
|
|
48317
48354
|
}
|
|
48318
48355
|
case 'setError': {
|
|
48319
48356
|
var error = action.error;
|
|
@@ -51365,7 +51402,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
51365
51402
|
messageCreatedAt: normalizedTimestamp,
|
|
51366
51403
|
t: t,
|
|
51367
51404
|
tDateTimeParser: tDateTimeParser,
|
|
51368
|
-
timestampTranslationKey: 'timestamp/
|
|
51405
|
+
timestampTranslationKey: 'timestamp/MessageTimestamp',
|
|
51369
51406
|
});
|
|
51370
51407
|
}, [calendar, calendarFormats, format, formatDate, normalizedTimestamp, t, tDateTimeParser]);
|
|
51371
51408
|
if (!when) {
|
|
@@ -58581,7 +58618,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
58581
58618
|
}
|
|
58582
58619
|
return newMessages;
|
|
58583
58620
|
};
|
|
58584
|
-
var getGroupStyles = function (message, previousMessage, nextMessage, noGroupByUser) {
|
|
58621
|
+
var getGroupStyles = function (message, previousMessage, nextMessage, noGroupByUser, maxTimeBetweenGroupedMessages) {
|
|
58585
58622
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
58586
58623
|
if (message.customType === CUSTOM_MESSAGE_TYPE.date)
|
|
58587
58624
|
return '';
|
|
@@ -58593,22 +58630,32 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
58593
58630
|
previousMessage.customType === CUSTOM_MESSAGE_TYPE.intro ||
|
|
58594
58631
|
previousMessage.customType === CUSTOM_MESSAGE_TYPE.date ||
|
|
58595
58632
|
previousMessage.type === 'system' ||
|
|
58633
|
+
previousMessage.type === 'error' ||
|
|
58596
58634
|
((_b = previousMessage.attachments) === null || _b === void 0 ? void 0 : _b.length) !== 0 ||
|
|
58597
58635
|
((_c = message.user) === null || _c === void 0 ? void 0 : _c.id) !== ((_d = previousMessage.user) === null || _d === void 0 ? void 0 : _d.id) ||
|
|
58598
|
-
previousMessage.type === 'error' ||
|
|
58599
58636
|
previousMessage.deleted_at ||
|
|
58600
58637
|
(message.reaction_groups && Object.keys(message.reaction_groups).length > 0) ||
|
|
58601
|
-
isMessageEdited(previousMessage)
|
|
58638
|
+
isMessageEdited(previousMessage) ||
|
|
58639
|
+
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
58640
|
+
previousMessage.created_at &&
|
|
58641
|
+
message.created_at &&
|
|
58642
|
+
new Date(message.created_at).getTime() - new Date(previousMessage.created_at).getTime() >
|
|
58643
|
+
maxTimeBetweenGroupedMessages);
|
|
58602
58644
|
var isBottomMessage = !nextMessage ||
|
|
58645
|
+
nextMessage.customType === CUSTOM_MESSAGE_TYPE.intro ||
|
|
58603
58646
|
nextMessage.customType === CUSTOM_MESSAGE_TYPE.date ||
|
|
58604
58647
|
nextMessage.type === 'system' ||
|
|
58605
|
-
nextMessage.
|
|
58648
|
+
nextMessage.type === 'error' ||
|
|
58606
58649
|
((_e = nextMessage.attachments) === null || _e === void 0 ? void 0 : _e.length) !== 0 ||
|
|
58607
58650
|
((_f = message.user) === null || _f === void 0 ? void 0 : _f.id) !== ((_g = nextMessage.user) === null || _g === void 0 ? void 0 : _g.id) ||
|
|
58608
|
-
nextMessage.type === 'error' ||
|
|
58609
58651
|
nextMessage.deleted_at ||
|
|
58610
58652
|
(nextMessage.reaction_groups && Object.keys(nextMessage.reaction_groups).length > 0) ||
|
|
58611
|
-
isMessageEdited(message)
|
|
58653
|
+
isMessageEdited(message) ||
|
|
58654
|
+
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
58655
|
+
nextMessage.created_at &&
|
|
58656
|
+
message.created_at &&
|
|
58657
|
+
new Date(nextMessage.created_at).getTime() - new Date(message.created_at).getTime() >
|
|
58658
|
+
maxTimeBetweenGroupedMessages);
|
|
58612
58659
|
if (!isTopMessage && !isBottomMessage) {
|
|
58613
58660
|
if (message.deleted_at || message.type === 'error')
|
|
58614
58661
|
return 'single';
|
|
@@ -58640,7 +58687,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
58640
58687
|
}
|
|
58641
58688
|
|
|
58642
58689
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useEnrichedMessages = function (args) {
|
|
58643
|
-
var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser, reviewProcessedMessage = args.reviewProcessedMessage;
|
|
58690
|
+
var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, maxTimeBetweenGroupedMessages = args.maxTimeBetweenGroupedMessages, messages = args.messages, noGroupByUser = args.noGroupByUser, reviewProcessedMessage = args.reviewProcessedMessage;
|
|
58644
58691
|
var client = useChatContext('useEnrichedMessages').client;
|
|
58645
58692
|
var HeaderComponent = useComponentContext('useEnrichedMessages').HeaderComponent;
|
|
58646
58693
|
var lastRead = React$2.useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
|
|
@@ -58662,14 +58709,14 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
58662
58709
|
var groupStylesFn = groupStyles || getGroupStyles;
|
|
58663
58710
|
var messageGroupStyles = React$2.useMemo(function () {
|
|
58664
58711
|
return messagesWithDates.reduce(function (acc, message, i) {
|
|
58665
|
-
var style = groupStylesFn(message, messagesWithDates[i - 1], messagesWithDates[i + 1], noGroupByUser);
|
|
58712
|
+
var style = groupStylesFn(message, messagesWithDates[i - 1], messagesWithDates[i + 1], noGroupByUser, maxTimeBetweenGroupedMessages);
|
|
58666
58713
|
if (style)
|
|
58667
58714
|
acc[message.id] = style;
|
|
58668
58715
|
return acc;
|
|
58669
58716
|
}, {});
|
|
58670
58717
|
},
|
|
58671
58718
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58672
|
-
[messagesWithDates, noGroupByUser]);
|
|
58719
|
+
[maxTimeBetweenGroupedMessages, messagesWithDates, noGroupByUser]);
|
|
58673
58720
|
return { messageGroupStyles: messageGroupStyles, messages: messagesWithDates };
|
|
58674
58721
|
};
|
|
58675
58722
|
|
|
@@ -59398,7 +59445,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
59398
59445
|
|
|
59399
59446
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageListWithContext = function (props) {
|
|
59400
59447
|
var _a;
|
|
59401
|
-
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, _e = props.internalInfiniteScrollProps, _f = _e === void 0 ? {} : _e, _g = _f.threshold, loadMoreScrollThreshold = _g === void 0 ? DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = __rest(_f, ["threshold"]), _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(MESSAGE_ACTIONS) : _h, _j = props.messages, messages = _j === void 0 ? [] : _j, notifications = props.notifications, _k = props.noGroupByUser, noGroupByUser = _k === void 0 ? false : _k, _l = props.pinPermissions, pinPermissions = _l === void 0 ? defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
59448
|
+
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, _e = props.internalInfiniteScrollProps, _f = _e === void 0 ? {} : _e, _g = _f.threshold, loadMoreScrollThreshold = _g === void 0 ? DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = __rest(_f, ["threshold"]), maxTimeBetweenGroupedMessages = props.maxTimeBetweenGroupedMessages, _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(MESSAGE_ACTIONS) : _h, _j = props.messages, messages = _j === void 0 ? [] : _j, notifications = props.notifications, _k = props.noGroupByUser, noGroupByUser = _k === void 0 ? false : _k, _l = props.pinPermissions, pinPermissions = _l === void 0 ? defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
59402
59449
|
_m = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
59403
59450
|
returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, reviewProcessedMessage = props.reviewProcessedMessage, _r = props.messageLimit, messageLimit = _r === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, reactionDetailsSort = props.reactionDetailsSort, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
|
|
59404
59451
|
var _u = React__default["default"].useState(null), listElement = _u[0], setListElement = _u[1];
|
|
@@ -59431,6 +59478,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
59431
59478
|
headerPosition: headerPosition,
|
|
59432
59479
|
hideDeletedMessages: hideDeletedMessages,
|
|
59433
59480
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
59481
|
+
maxTimeBetweenGroupedMessages: maxTimeBetweenGroupedMessages,
|
|
59434
59482
|
messages: messages,
|
|
59435
59483
|
noGroupByUser: noGroupByUser,
|
|
59436
59484
|
reviewProcessedMessage: reviewProcessedMessage,
|
|
@@ -61076,8 +61124,8 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
61076
61124
|
return TypingIndicator ? React__default["default"].createElement(TypingIndicator, { avatarSize: 24 }) : null;
|
|
61077
61125
|
};
|
|
61078
61126
|
var messageRenderer = function (virtuosoIndex, _data, virtuosoContext) {
|
|
61079
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
61080
|
-
var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, formatDate = virtuosoContext.formatDate, lastReadDate = virtuosoContext.lastReadDate, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, reactionDetailsSort = virtuosoContext.reactionDetailsSort, shouldGroupByUser = virtuosoContext.shouldGroupByUser, sortReactionDetails = virtuosoContext.sortReactionDetails, sortReactions = virtuosoContext.sortReactions,
|
|
61127
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
61128
|
+
var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, formatDate = virtuosoContext.formatDate, lastReadDate = virtuosoContext.lastReadDate, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, messageGroupStyles = virtuosoContext.messageGroupStyles, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, reactionDetailsSort = virtuosoContext.reactionDetailsSort, shouldGroupByUser = virtuosoContext.shouldGroupByUser, sortReactionDetails = virtuosoContext.sortReactionDetails, sortReactions = virtuosoContext.sortReactions, _j = virtuosoContext.unreadMessageCount, unreadMessageCount = _j === void 0 ? 0 : _j, UnreadMessagesSeparator = virtuosoContext.UnreadMessagesSeparator, virtuosoRef = virtuosoContext.virtuosoRef;
|
|
61081
61129
|
var streamMessageIndex = calculateItemIndex(virtuosoIndex, numItemsPrepended);
|
|
61082
61130
|
if (customMessageRenderer) {
|
|
61083
61131
|
return customMessageRenderer(messageList, streamMessageIndex);
|
|
@@ -61096,6 +61144,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
61096
61144
|
((_a = message.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = messageList[streamMessageIndex - 1].user) === null || _b === void 0 ? void 0 : _b.id);
|
|
61097
61145
|
var maybePrevMessage = messageList[streamMessageIndex - 1];
|
|
61098
61146
|
var maybeNextMessage = messageList[streamMessageIndex + 1];
|
|
61147
|
+
// FIXME: firstOfGroup & endOfGroup should be derived from groupStyles which apply a more complex logic
|
|
61099
61148
|
var firstOfGroup = shouldGroupByUser &&
|
|
61100
61149
|
(((_c = message.user) === null || _c === void 0 ? void 0 : _c.id) !== ((_d = maybePrevMessage === null || maybePrevMessage === void 0 ? void 0 : maybePrevMessage.user) === null || _d === void 0 ? void 0 : _d.id) ||
|
|
61101
61150
|
(maybePrevMessage && isMessageEdited(maybePrevMessage)));
|
|
@@ -61118,7 +61167,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
61118
61167
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
61119
61168
|
showUnreadSeparatorAbove && (React__default["default"].createElement("div", { className: 'str-chat__unread-messages-separator-wrapper' },
|
|
61120
61169
|
React__default["default"].createElement(UnreadMessagesSeparator, { unreadCount: unreadMessageCount }))),
|
|
61121
|
-
React__default["default"].createElement(Message, { additionalMessageInputProps: additionalMessageInputProps, autoscrollToBottom: (_g = virtuosoRef.current) === null || _g === void 0 ? void 0 : _g.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, formatDate: formatDate, groupedByUser: groupedByUser, lastReceivedId: lastReceivedMessageId, message: message, Message: MessageUIComponent, messageActions: messageActions, reactionDetailsSort: reactionDetailsSort, readBy: ownMessagesReadByOthers[message.id] || [], sortReactionDetails: sortReactionDetails, sortReactions: sortReactions }),
|
|
61170
|
+
React__default["default"].createElement(Message, { additionalMessageInputProps: additionalMessageInputProps, autoscrollToBottom: (_g = virtuosoRef.current) === null || _g === void 0 ? void 0 : _g.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, formatDate: formatDate, groupedByUser: groupedByUser, groupStyles: [(_h = messageGroupStyles[message.id]) !== null && _h !== void 0 ? _h : ''], lastReceivedId: lastReceivedMessageId, message: message, Message: MessageUIComponent, messageActions: messageActions, reactionDetailsSort: reactionDetailsSort, readBy: ownMessagesReadByOthers[message.id] || [], sortReactionDetails: sortReactionDetails, sortReactions: sortReactions }),
|
|
61122
61171
|
showUnreadSeparatorBelow && (React__default["default"].createElement("div", { className: 'str-chat__unread-messages-separator-wrapper' },
|
|
61123
61172
|
React__default["default"].createElement(UnreadMessagesSeparator, { unreadCount: unreadMessageCount })))));
|
|
61124
61173
|
};
|
|
@@ -61154,7 +61203,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
61154
61203
|
}
|
|
61155
61204
|
var VirtualizedMessageListWithContext = function (props) {
|
|
61156
61205
|
var _a, _b;
|
|
61157
|
-
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, formatDate = props.formatDate, 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 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _g, messages = props.messages, notifications = props.notifications,
|
|
61206
|
+
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, formatDate = props.formatDate, 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, maxTimeBetweenGroupedMessages = props.maxTimeBetweenGroupedMessages, MessageUIComponentFromProps = props.Message, messageActions = props.messageActions, _g = props.messageLimit, messageLimit = _g === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _g, messages = props.messages, notifications = props.notifications,
|
|
61158
61207
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
61159
61208
|
_h = props.overscan,
|
|
61160
61209
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
@@ -61217,7 +61266,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
61217
61266
|
var groupStylesFn = groupStyles || getGroupStyles;
|
|
61218
61267
|
var messageGroupStyles = React$2.useMemo(function () {
|
|
61219
61268
|
return processedMessages.reduce(function (acc, message, i) {
|
|
61220
|
-
var style = groupStylesFn(message, processedMessages[i - 1], processedMessages[i + 1], !shouldGroupByUser);
|
|
61269
|
+
var style = groupStylesFn(message, processedMessages[i - 1], processedMessages[i + 1], !shouldGroupByUser, maxTimeBetweenGroupedMessages);
|
|
61221
61270
|
if (style)
|
|
61222
61271
|
acc[message.id] = style;
|
|
61223
61272
|
return acc;
|
|
@@ -61225,7 +61274,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
61225
61274
|
},
|
|
61226
61275
|
// processedMessages were incorrectly rebuilt with a new object identity at some point, hence the .length usage
|
|
61227
61276
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61228
|
-
[processedMessages.length, shouldGroupByUser, groupStylesFn]);
|
|
61277
|
+
[maxTimeBetweenGroupedMessages, processedMessages.length, shouldGroupByUser, groupStylesFn]);
|
|
61229
61278
|
var _y = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _y.atBottom, isMessageListScrolledToBottom = _y.isMessageListScrolledToBottom, newMessagesNotification = _y.newMessagesNotification, setIsMessageListScrolledToBottom = _y.setIsMessageListScrolledToBottom, setNewMessagesNotification = _y.setNewMessagesNotification;
|
|
61230
61279
|
useMarkRead({
|
|
61231
61280
|
isMessageListScrolledToBottom: isMessageListScrolledToBottom,
|
|
@@ -63864,7 +63913,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
|
|
|
63864
63913
|
|
|
63865
63914
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
63866
63915
|
|
|
63867
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.
|
|
63916
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.23.0';
|
|
63868
63917
|
|
|
63869
63918
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
|
|
63870
63919
|
var _b, _c;
|