stream-chat-react 10.5.0 → 10.7.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 +93 -71
- 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/Attachment/Attachment.d.ts +4 -1
- package/dist/components/Attachment/Attachment.d.ts.map +1 -1
- package/dist/components/Attachment/Attachment.js +20 -18
- package/dist/components/Attachment/AttachmentContainer.d.ts +1 -0
- package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +6 -0
- package/dist/components/Attachment/UnsupportedAttachment.d.ts +8 -0
- package/dist/components/Attachment/UnsupportedAttachment.d.ts.map +1 -0
- package/dist/components/Attachment/UnsupportedAttachment.js +12 -0
- package/dist/components/Attachment/index.d.ts +1 -0
- package/dist/components/Attachment/index.d.ts.map +1 -1
- package/dist/components/Attachment/index.js +1 -0
- package/dist/components/Channel/Channel.js +2 -2
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.js +2 -1
- package/dist/components/MessageList/ConnectionStatus.d.ts.map +1 -1
- package/dist/components/MessageList/ConnectionStatus.js +1 -1
- package/dist/components/MessageList/CustomNotification.d.ts +1 -0
- package/dist/components/MessageList/CustomNotification.d.ts.map +1 -1
- package/dist/components/MessageList/CustomNotification.js +3 -2
- package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useMessageListElements.js +1 -4
- package/dist/components/Thread/Thread.d.ts +1 -1
- package/dist/components/Thread/Thread.d.ts.map +1 -1
- package/dist/components/Thread/ThreadHeader.d.ts +1 -1
- package/dist/components/Thread/ThreadHeader.d.ts.map +1 -1
- package/dist/components/Thread/ThreadHeader.js +1 -1
- package/dist/components/Window/Window.d.ts +1 -1
- package/dist/components/Window/Window.d.ts.map +1 -1
- package/dist/components/Window/Window.js +6 -3
- package/dist/context/ChannelActionContext.d.ts +2 -2
- package/dist/context/ChannelActionContext.d.ts.map +1 -1
- package/dist/index.cjs.js +54 -32
- package/dist/index.cjs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var sanitizeUrl = require('@braintree/sanitize-url');
|
|
7
6
|
var ReactPlayer = require('react-player');
|
|
8
7
|
var prettybytes = require('pretty-bytes');
|
|
8
|
+
var sanitizeUrl = require('@braintree/sanitize-url');
|
|
9
9
|
var DefaultEmojiIndex = require('emoji-mart/dist/utils/emoji-index/nimble-emoji-index.js');
|
|
10
10
|
var Dayjs = require('dayjs');
|
|
11
11
|
var calendar = require('dayjs/plugin/calendar');
|
|
@@ -1384,7 +1384,7 @@ var UnMemoizedGallery = function (props) {
|
|
|
1384
1384
|
React__default["default"].createElement("p", null, t('{{ imageCount }} more', {
|
|
1385
1385
|
imageCount: images.length - countImagesDisplayedInPreview,
|
|
1386
1386
|
})))) : (React__default["default"].createElement("button", { className: 'str-chat__gallery-image', "data-testid": 'gallery-image', key: "gallery-image-".concat(i), onClick: function () { return toggleModal(i); } },
|
|
1387
|
-
React__default["default"].createElement("img", __assign({ alt: 'User uploaded content', src: image.previewUrl || image.image_url || image.thumb_url, style: image.style }, ((innerRefs === null || innerRefs === void 0 ? void 0 : innerRefs.current) && { ref: function (r) { return (innerRefs.current[i] = r); } })))));
|
|
1387
|
+
React__default["default"].createElement("img", __assign({ alt: 'User uploaded content', src: sanitizeUrl.sanitizeUrl(image.previewUrl || image.image_url || image.thumb_url), style: image.style }, ((innerRefs === null || innerRefs === void 0 ? void 0 : innerRefs.current) && { ref: function (r) { return (innerRefs.current[i] = r); } })))));
|
|
1388
1388
|
});
|
|
1389
1389
|
var className = clsx('str-chat__gallery', {
|
|
1390
1390
|
'str-chat__gallery--square': images.length > lastImageIndexInPreview,
|
|
@@ -1715,6 +1715,18 @@ var renderMedia = function (props) {
|
|
|
1715
1715
|
});
|
|
1716
1716
|
};
|
|
1717
1717
|
|
|
1718
|
+
var UnsupportedAttachment = function (_a) {
|
|
1719
|
+
var _b;
|
|
1720
|
+
var attachment = _a.attachment;
|
|
1721
|
+
return (React__default["default"].createElement("div", null,
|
|
1722
|
+
React__default["default"].createElement("div", null,
|
|
1723
|
+
"Unsupported attachment type ",
|
|
1724
|
+
React__default["default"].createElement("strong", null, (_b = attachment.type) !== null && _b !== void 0 ? _b : 'unknown')),
|
|
1725
|
+
React__default["default"].createElement("code", null, JSON.stringify(attachment, null, 4)),
|
|
1726
|
+
";"));
|
|
1727
|
+
};
|
|
1728
|
+
var NullComponent = function () { return null; };
|
|
1729
|
+
|
|
1718
1730
|
var AttachmentWithinContainer = function (_a) {
|
|
1719
1731
|
var _b;
|
|
1720
1732
|
var _c;
|
|
@@ -1852,12 +1864,18 @@ var MediaContainer = function (props) {
|
|
|
1852
1864
|
content,
|
|
1853
1865
|
React__default["default"].createElement(AttachmentActionsContainer, __assign({}, props))))) : (React__default["default"].createElement(AttachmentWithinContainer, { attachment: attachment, componentType: componentType }, content));
|
|
1854
1866
|
};
|
|
1867
|
+
var UnsupportedAttachmentContainer = function (_a) {
|
|
1868
|
+
var attachment = _a.attachment, _b = _a.UnsupportedAttachment, UnsupportedAttachment = _b === void 0 ? NullComponent : _b;
|
|
1869
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1870
|
+
React__default["default"].createElement(UnsupportedAttachment, { attachment: attachment })));
|
|
1871
|
+
};
|
|
1855
1872
|
|
|
1856
1873
|
var CONTAINER_MAP = {
|
|
1857
1874
|
audio: AudioContainer,
|
|
1858
1875
|
card: CardContainer,
|
|
1859
1876
|
file: FileContainer,
|
|
1860
1877
|
media: MediaContainer,
|
|
1878
|
+
unsupported: UnsupportedAttachmentContainer,
|
|
1861
1879
|
};
|
|
1862
1880
|
var ATTACHMENT_GROUPS_ORDER = [
|
|
1863
1881
|
'card',
|
|
@@ -1866,6 +1884,7 @@ var ATTACHMENT_GROUPS_ORDER = [
|
|
|
1866
1884
|
'media',
|
|
1867
1885
|
'audio',
|
|
1868
1886
|
'file',
|
|
1887
|
+
'unsupported',
|
|
1869
1888
|
];
|
|
1870
1889
|
/**
|
|
1871
1890
|
* A component used for rendering message attachments. By default, the component supports: AttachmentActions, Audio, Card, File, Gallery, Image, and Video
|
|
@@ -1877,26 +1896,27 @@ var Attachment = function (props) {
|
|
|
1877
1896
|
};
|
|
1878
1897
|
var renderGroupedAttachments = function (_a) {
|
|
1879
1898
|
var attachments = _a.attachments, rest = __rest(_a, ["attachments"]);
|
|
1880
|
-
var uploadedImages =
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
}
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
}
|
|
1891
|
-
}
|
|
1892
|
-
return acc;
|
|
1899
|
+
var uploadedImages = attachments.filter(function (attachment) {
|
|
1900
|
+
return isUploadedImage(attachment);
|
|
1901
|
+
});
|
|
1902
|
+
var containers = attachments
|
|
1903
|
+
.filter(function (attachment) { return !isUploadedImage(attachment); })
|
|
1904
|
+
.reduce(function (typeMap, attachment) {
|
|
1905
|
+
var attachmentType = getAttachmentType(attachment);
|
|
1906
|
+
var Container = CONTAINER_MAP[attachmentType];
|
|
1907
|
+
typeMap[attachmentType].push(React__default["default"].createElement(Container, __assign({ key: "".concat(attachmentType, "-").concat(typeMap[attachmentType].length) }, rest, { attachment: attachment })));
|
|
1908
|
+
return typeMap;
|
|
1893
1909
|
}, {
|
|
1894
1910
|
audio: [],
|
|
1895
1911
|
card: [],
|
|
1896
1912
|
file: [],
|
|
1897
|
-
gallery: [],
|
|
1898
|
-
image: [],
|
|
1899
1913
|
media: [],
|
|
1914
|
+
unsupported: [],
|
|
1915
|
+
// not used in reduce
|
|
1916
|
+
// eslint-disable-next-line sort-keys
|
|
1917
|
+
image: [],
|
|
1918
|
+
// eslint-disable-next-line sort-keys
|
|
1919
|
+
gallery: [],
|
|
1900
1920
|
});
|
|
1901
1921
|
if (uploadedImages.length > 1) {
|
|
1902
1922
|
containers['gallery'] = [
|
|
@@ -1926,7 +1946,7 @@ var getAttachmentType = function (attachment) {
|
|
|
1926
1946
|
else if (isFileAttachment(attachment)) {
|
|
1927
1947
|
return 'file';
|
|
1928
1948
|
}
|
|
1929
|
-
return
|
|
1949
|
+
return 'unsupported';
|
|
1930
1950
|
};
|
|
1931
1951
|
|
|
1932
1952
|
var Item = /*#__PURE__*/React__default["default"].forwardRef(function Item(props, innerRef) {
|
|
@@ -32446,7 +32466,7 @@ var ChannelInner = function (props) {
|
|
|
32446
32466
|
};
|
|
32447
32467
|
/** THREAD */
|
|
32448
32468
|
var openThread = function (message, event) {
|
|
32449
|
-
event.preventDefault();
|
|
32469
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
32450
32470
|
setQuotedMessage(function (current) {
|
|
32451
32471
|
if ((current === null || current === void 0 ? void 0 : current.parent_id) !== (message === null || message === void 0 ? void 0 : message.parent_id)) {
|
|
32452
32472
|
return undefined;
|
|
@@ -32458,7 +32478,7 @@ var ChannelInner = function (props) {
|
|
|
32458
32478
|
dispatch({ channel: channel, message: message, type: 'openThread' });
|
|
32459
32479
|
};
|
|
32460
32480
|
var closeThread = function (event) {
|
|
32461
|
-
event.preventDefault();
|
|
32481
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
32462
32482
|
dispatch({ type: 'closeThread' });
|
|
32463
32483
|
};
|
|
32464
32484
|
var loadMoreThreadFinished = debounce__default["default"](function (threadHasMore, threadMessages) {
|
|
@@ -33778,7 +33798,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
33778
33798
|
*/
|
|
33779
33799
|
var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
|
|
33780
33800
|
|
|
33781
|
-
var version = '10.
|
|
33801
|
+
var version = '10.7.0';
|
|
33782
33802
|
|
|
33783
33803
|
var useChat = function (_a) {
|
|
33784
33804
|
var _b, _c;
|
|
@@ -34784,10 +34804,10 @@ var Message = function (props) {
|
|
|
34784
34804
|
};
|
|
34785
34805
|
|
|
34786
34806
|
var UnMemoizedCustomNotification = function (props) {
|
|
34787
|
-
var active = props.active, children = props.children, type = props.type;
|
|
34807
|
+
var active = props.active, children = props.children, className = props.className, type = props.type;
|
|
34788
34808
|
if (!active)
|
|
34789
34809
|
return null;
|
|
34790
|
-
return (React__default["default"].createElement("div", { "aria-live": 'polite', className: "str-chat__custom-notification notification-".concat(type, "
|
|
34810
|
+
return (React__default["default"].createElement("div", { "aria-live": 'polite', className: clsx("str-chat__custom-notification notification-".concat(type), "str-chat__notification", className), "data-testid": 'custom-notification' }, children));
|
|
34791
34811
|
};
|
|
34792
34812
|
var CustomNotification = React__default["default"].memo(UnMemoizedCustomNotification);
|
|
34793
34813
|
|
|
@@ -34805,7 +34825,7 @@ var UnMemoizedConnectionStatus = function () {
|
|
|
34805
34825
|
client.on('connection.changed', connectionChanged);
|
|
34806
34826
|
return function () { return client.off('connection.changed', connectionChanged); };
|
|
34807
34827
|
}, [client, online]);
|
|
34808
|
-
return (React__default["default"].createElement(CustomNotification, { active: !online, type: 'error' }, t('Connection failure, reconnecting now...')));
|
|
34828
|
+
return (React__default["default"].createElement(CustomNotification, { active: !online, className: 'str-chat__connection-status-notification', type: 'error' }, t('Connection failure, reconnecting now...')));
|
|
34809
34829
|
};
|
|
34810
34830
|
var ConnectionStatus = React__default["default"].memo(UnMemoizedConnectionStatus);
|
|
34811
34831
|
|
|
@@ -34870,7 +34890,6 @@ var useMessageListElements = function (props) {
|
|
|
34870
34890
|
var lastReceivedId = React.useMemo(function () { return getLastReceived(enrichedMessages); }, [enrichedMessages]);
|
|
34871
34891
|
var elements = React.useMemo(function () {
|
|
34872
34892
|
return enrichedMessages.map(function (message) {
|
|
34873
|
-
var _a;
|
|
34874
34893
|
if (message.customType === CUSTOM_MESSAGE_TYPE.date &&
|
|
34875
34894
|
message.date &&
|
|
34876
34895
|
isDate(message.date)) {
|
|
@@ -34882,9 +34901,7 @@ var useMessageListElements = function (props) {
|
|
|
34882
34901
|
React__default["default"].createElement(HeaderComponent, null)));
|
|
34883
34902
|
}
|
|
34884
34903
|
if (message.type === 'system') {
|
|
34885
|
-
return (React__default["default"].createElement("li", { key:
|
|
34886
|
-
message.created_at ||
|
|
34887
|
-
'' },
|
|
34904
|
+
return (React__default["default"].createElement("li", { key: message.id || message.created_at },
|
|
34888
34905
|
React__default["default"].createElement(MessageSystem, { message: message })));
|
|
34889
34906
|
}
|
|
34890
34907
|
var groupStyles = messageGroupStyles[message.id] || '';
|
|
@@ -35721,7 +35738,7 @@ var ThreadHeader = function (props) {
|
|
|
35721
35738
|
React__default["default"].createElement("div", { className: 'str-chat__thread-header-details' },
|
|
35722
35739
|
React__default["default"].createElement("div", { className: 'str-chat__thread-header-title' }, t('Thread')),
|
|
35723
35740
|
React__default["default"].createElement("div", { className: 'str-chat__thread-header-subtitle' }, displayTitle)),
|
|
35724
|
-
React__default["default"].createElement("button", { "aria-label": 'Close thread', className: 'str-chat__square-button str-chat__close-thread-button', "data-testid": 'close-button', onClick:
|
|
35741
|
+
React__default["default"].createElement("button", { "aria-label": 'Close thread', className: 'str-chat__square-button str-chat__close-thread-button', "data-testid": 'close-button', onClick: closeThread },
|
|
35725
35742
|
React__default["default"].createElement(CloseIcon, null))));
|
|
35726
35743
|
};
|
|
35727
35744
|
|
|
@@ -35782,9 +35799,11 @@ var ThreadInner = function (props) {
|
|
|
35782
35799
|
};
|
|
35783
35800
|
|
|
35784
35801
|
var UnMemoizedWindow = function (props) {
|
|
35785
|
-
var children = props.children, _a = props.hideOnThread, hideOnThread = _a === void 0 ? false : _a;
|
|
35786
|
-
var
|
|
35787
|
-
return (React__default["default"].createElement("div", { className:
|
|
35802
|
+
var children = props.children, _a = props.hideOnThread, hideOnThread = _a === void 0 ? false : _a, propThread = props.thread;
|
|
35803
|
+
var contextThread = useChannelStateContext('Window').thread;
|
|
35804
|
+
return (React__default["default"].createElement("div", { className: clsx('str-chat__main-panel', {
|
|
35805
|
+
'str-chat__main-panel--hideOnThread': hideOnThread && (contextThread || propThread),
|
|
35806
|
+
}) }, children));
|
|
35788
35807
|
};
|
|
35789
35808
|
/**
|
|
35790
35809
|
* A UI component for conditionally displaying a Thread or Channel
|
|
@@ -35903,6 +35922,7 @@ exports.MessageText = MessageText;
|
|
|
35903
35922
|
exports.MessageTimestamp = MessageTimestamp;
|
|
35904
35923
|
exports.Modal = Modal;
|
|
35905
35924
|
exports.ModalGallery = ModalGallery;
|
|
35925
|
+
exports.NullComponent = NullComponent;
|
|
35906
35926
|
exports.PinIcon = PinIcon;
|
|
35907
35927
|
exports.PinIndicator = PinIndicator;
|
|
35908
35928
|
exports.PlayButton = PlayButton;
|
|
@@ -35938,6 +35958,8 @@ exports.TypingContext = TypingContext;
|
|
|
35938
35958
|
exports.TypingIndicator = TypingIndicator;
|
|
35939
35959
|
exports.TypingProvider = TypingProvider;
|
|
35940
35960
|
exports.UnMemoizedLoadMorePaginator = UnMemoizedLoadMorePaginator;
|
|
35961
|
+
exports.UnsupportedAttachment = UnsupportedAttachment;
|
|
35962
|
+
exports.UnsupportedAttachmentContainer = UnsupportedAttachmentContainer;
|
|
35941
35963
|
exports.UploadIcon = UploadIcon;
|
|
35942
35964
|
exports.UploadsPreview = UploadsPreview;
|
|
35943
35965
|
exports.UserItem = UserItem;
|