stream-chat-react 10.21.0 → 10.22.1
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 +105 -88
- 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/Audio.js +1 -1
- package/dist/components/Channel/Channel.d.ts +3 -1
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +1 -0
- package/dist/components/Gallery/BaseImage.d.ts +6 -0
- package/dist/components/Gallery/BaseImage.d.ts.map +1 -0
- package/dist/components/Gallery/BaseImage.js +20 -0
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.js +4 -2
- package/dist/components/Gallery/Image.d.ts.map +1 -1
- package/dist/components/Gallery/Image.js +3 -2
- package/dist/components/Gallery/ModalGallery.d.ts.map +1 -1
- package/dist/components/Gallery/ModalGallery.js +3 -1
- package/dist/components/Gallery/index.d.ts +1 -0
- package/dist/components/Gallery/index.d.ts.map +1 -1
- package/dist/components/Gallery/index.js +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList.d.ts +5 -0
- package/dist/components/MessageInput/AttachmentPreviewList.d.ts.map +1 -1
- package/dist/components/MessageInput/AttachmentPreviewList.js +16 -10
- package/dist/components/MessageInput/index.d.ts +1 -1
- package/dist/components/MessageInput/index.d.ts.map +1 -1
- package/dist/components/MessageInput/index.js +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +31 -32
- package/dist/context/ChannelStateContext.d.ts +1 -1
- package/dist/context/ComponentContext.d.ts +2 -1
- package/dist/context/ComponentContext.d.ts.map +1 -1
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/i18n/Streami18n.d.ts +1 -0
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/de.json +1 -0
- package/dist/i18n/en.json +1 -0
- package/dist/i18n/es.json +1 -0
- package/dist/i18n/fr.json +1 -0
- package/dist/i18n/hi.json +1 -0
- package/dist/i18n/it.json +1 -0
- package/dist/i18n/ja.json +1 -0
- package/dist/i18n/ko.json +1 -0
- package/dist/i18n/nl.json +1 -0
- package/dist/i18n/pt.json +1 -0
- package/dist/i18n/ru.json +1 -0
- package/dist/i18n/tr.json +1 -0
- package/dist/index.cjs.js +82 -58
- package/dist/index.cjs.js.map +1 -1
- package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +3 -3
- package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +4 -0
- package/dist/scss/v2/BaseImage/BaseImage-layout.scss +21 -0
- package/dist/scss/v2/BaseImage/BaseImage-theme.scss +35 -0
- package/dist/scss/v2/BaseImage/index.scss +2 -0
- package/dist/scss/v2/_icons.scss +3 -0
- package/dist/scss/v2/_utils.scss +12 -0
- package/dist/scss/v2/index.layout.scss +2 -0
- package/dist/scss/v2/index.scss +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
|
@@ -34,7 +34,7 @@ export var PlayButton = function (_a) {
|
|
|
34
34
|
export var ProgressBar = function (_a) {
|
|
35
35
|
var onClick = _a.onClick, progress = _a.progress;
|
|
36
36
|
return (React.createElement("div", { className: 'str-chat__message-attachment-audio-widget--progress-track', "data-progress": progress, "data-testid": 'audio-progress', onClick: onClick, role: 'progressbar', style: {
|
|
37
|
-
background: "linear-gradient(\n\t\t to right
|
|
37
|
+
background: "linear-gradient(\n\t\t to right,\n\t\t var(--str-chat__primary-color),\n\t\t var(--str-chat__primary-color) ".concat(progress, "%,\n\t\t var(--str-chat__disabled-color) ").concat(progress, "%,\n\t\t var(--str-chat__disabled-color)\n\t )"),
|
|
38
38
|
} },
|
|
39
39
|
React.createElement("div", { className: 'str-chat__message-attachment-audio-widget--progress-slider', style: { left: "".concat(progress, "px") } })));
|
|
40
40
|
};
|
|
@@ -23,7 +23,9 @@ declare type ChannelPropsForwardedToComponentContext<StreamChatGenerics extends
|
|
|
23
23
|
AutocompleteSuggestionList?: ComponentContextValue<StreamChatGenerics>['AutocompleteSuggestionList'];
|
|
24
24
|
/** UI component to display a user's avatar, defaults to and accepts same props as: [Avatar](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Avatar/Avatar.tsx) */
|
|
25
25
|
Avatar?: ComponentContextValue<StreamChatGenerics>['Avatar'];
|
|
26
|
-
/** Custom UI component to display
|
|
26
|
+
/** Custom UI component to display <img/> elements resp. a fallback in case of load error, defaults to and accepts same props as: [BaseImage](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Gallery/BaseImage.tsx) */
|
|
27
|
+
BaseImage?: ComponentContextValue<StreamChatGenerics>['BaseImage'];
|
|
28
|
+
/** Custom UI component to display the slow mode cooldown timer, defaults to and accepts same props as: [CooldownTimer](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/CooldownTimer.tsx) */
|
|
27
29
|
CooldownTimer?: ComponentContextValue<StreamChatGenerics>['CooldownTimer'];
|
|
28
30
|
/** Custom UI component for date separators, defaults to and accepts same props as: [DateSeparator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/DateSeparator.tsx) */
|
|
29
31
|
DateSeparator?: ComponentContextValue<StreamChatGenerics>['DateSeparator'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAQlB,MAAM,OAAO,CAAC;AAIf,OAAO,EAGL,mBAAmB,EAInB,OAAO,EACP,eAAe,EAEf,OAAO,IAAI,aAAa,EACxB,UAAU,EACV,cAAc,EAEf,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,eAAe,EAAuB,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EAEL,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAUpB,OAAO,EAGL,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAqB,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EAAe,iBAAiB,EAAiB,MAAM,4BAA4B,CAAC;AAe3F,OAAO,KAAK,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,aAAK,uCAAuC,CAC1C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,oNAAoN;IACpN,UAAU,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,kPAAkP;IAClP,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC3F,4OAA4O;IAC5O,4BAA4B,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,8BAA8B,CAAC,CAAC;IACzG,qOAAqO;IACrO,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrG,oPAAoP;IACpP,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrG,4LAA4L;IAC5L,MAAM,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -645,6 +645,7 @@ var ChannelInner = function (props) {
|
|
|
645
645
|
AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
|
|
646
646
|
AutocompleteSuggestionList: props.AutocompleteSuggestionList,
|
|
647
647
|
Avatar: props.Avatar,
|
|
648
|
+
BaseImage: props.BaseImage,
|
|
648
649
|
CooldownTimer: props.CooldownTimer,
|
|
649
650
|
DateSeparator: props.DateSeparator,
|
|
650
651
|
EditMessageInput: props.EditMessageInput,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare type BaseImageProps = React.ComponentPropsWithRef<'img'>;
|
|
3
|
+
export declare const BaseImage: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "key" | keyof React.ImgHTMLAttributes<HTMLImageElement>> & {
|
|
4
|
+
ref?: ((instance: HTMLImageElement | null) => void) | React.RefObject<HTMLImageElement> | null | undefined;
|
|
5
|
+
}, "key" | keyof React.ImgHTMLAttributes<HTMLImageElement>> & React.RefAttributes<HTMLImageElement>>;
|
|
6
|
+
//# sourceMappingURL=BaseImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseImage.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/BaseImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAI/D,oBAAY,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAEhE,eAAO,MAAM,SAAS;;oGA+BpB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React, { forwardRef, useEffect, useState } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { DownloadButton } from '../Attachment/DownloadButton';
|
|
5
|
+
export var BaseImage = forwardRef(function BaseImage(_a, ref) {
|
|
6
|
+
var props = __rest(_a, []);
|
|
7
|
+
var propsClassName = props.className, propsOnError = props.onError;
|
|
8
|
+
var _b = useState(false), error = _b[0], setError = _b[1];
|
|
9
|
+
useEffect(function () { return function () {
|
|
10
|
+
setError(false);
|
|
11
|
+
}; }, [props.src]);
|
|
12
|
+
return (React.createElement(React.Fragment, null,
|
|
13
|
+
React.createElement("img", __assign({ "data-testid": 'str-chat__base-image' }, props, { className: clsx(propsClassName, 'str-chat__base-image', {
|
|
14
|
+
'str-chat__base-image--load-failed': error,
|
|
15
|
+
}), onError: function (e) {
|
|
16
|
+
setError(true);
|
|
17
|
+
propsOnError === null || propsOnError === void 0 ? void 0 : propsOnError(e);
|
|
18
|
+
}, ref: ref })),
|
|
19
|
+
error && React.createElement(DownloadButton, { assetUrl: props.src })));
|
|
20
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/Gallery.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,gBAAgB,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/Gallery.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,gBAAgB,EAAY,MAAM,OAAO,CAAC;AAWzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,YAAY,CACtB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,CAAC,CACL;QACE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GACD,UAAU,CAAC,kBAAkB,CAAC,CACjC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,EAAE,CAAC;IACtD,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;CACtD,CAAC;AAuFF;;GAEG;AACH,eAAO,MAAM,OAAO,4IAA4D,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { __assign } from "tslib";
|
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
import { sanitizeUrl } from '@braintree/sanitize-url';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
+
import { BaseImage as DefaultBaseImage } from './BaseImage';
|
|
5
6
|
import { Modal } from '../Modal';
|
|
6
7
|
import { ModalGallery as DefaultModalGallery } from './ModalGallery';
|
|
7
8
|
import { useComponentContext } from '../../context/ComponentContext';
|
|
@@ -10,8 +11,9 @@ var UnMemoizedGallery = function (props) {
|
|
|
10
11
|
var images = props.images, innerRefs = props.innerRefs;
|
|
11
12
|
var _a = useState(0), index = _a[0], setIndex = _a[1];
|
|
12
13
|
var _b = useState(false), modalOpen = _b[0], setModalOpen = _b[1];
|
|
13
|
-
var _c = useComponentContext('Gallery').ModalGallery, ModalGallery =
|
|
14
|
+
var _c = useComponentContext('Gallery'), _d = _c.BaseImage, BaseImage = _d === void 0 ? DefaultBaseImage : _d, _e = _c.ModalGallery, ModalGallery = _e === void 0 ? DefaultModalGallery : _e;
|
|
14
15
|
var t = useTranslationContext('Gallery').t;
|
|
16
|
+
var imageFallbackTitle = t('User uploaded content');
|
|
15
17
|
var countImagesDisplayedInPreview = 4;
|
|
16
18
|
var lastImageIndexInPreview = countImagesDisplayedInPreview - 1;
|
|
17
19
|
var toggleModal = function (selectedIndex) {
|
|
@@ -30,7 +32,7 @@ var UnMemoizedGallery = function (props) {
|
|
|
30
32
|
React.createElement("p", null, t('{{ imageCount }} more', {
|
|
31
33
|
imageCount: images.length - countImagesDisplayedInPreview,
|
|
32
34
|
})))) : (React.createElement("button", { className: 'str-chat__gallery-image', "data-testid": 'gallery-image', key: "gallery-image-".concat(i), onClick: function () { return toggleModal(i); } },
|
|
33
|
-
React.createElement(
|
|
35
|
+
React.createElement(BaseImage, __assign({ alt: (image === null || image === void 0 ? void 0 : image.fallback) || imageFallbackTitle, src: sanitizeUrl(image.previewUrl || image.image_url || image.thumb_url), style: image.style, title: (image === null || image === void 0 ? void 0 : image.fallback) || imageFallbackTitle }, ((innerRefs === null || innerRefs === void 0 ? void 0 : innerRefs.current) && { ref: function (r) { return (innerRefs.current[i] = r); } })))));
|
|
34
36
|
});
|
|
35
37
|
var className = clsx('str-chat__gallery', {
|
|
36
38
|
'str-chat__gallery--square': images.length > lastImageIndexInPreview,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/Image.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,gBAAgB,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/Image.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,gBAAgB,EAAY,MAAM,OAAO,CAAC;AAQzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/E,oBAAY,UAAU,CACpB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,GAAG,CACA;IACE,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD,UAAU,CAAC,kBAAkB,CAAC,CACjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,0IAmC1B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
import { sanitizeUrl } from '@braintree/sanitize-url';
|
|
4
|
+
import { BaseImage as DefaultBaseImage } from './BaseImage';
|
|
4
5
|
import { Modal } from '../Modal';
|
|
5
6
|
import { ModalGallery as DefaultModalGallery } from './ModalGallery';
|
|
6
7
|
import { useComponentContext } from '../../context';
|
|
@@ -10,11 +11,11 @@ import { useComponentContext } from '../../context';
|
|
|
10
11
|
export var ImageComponent = function (props) {
|
|
11
12
|
var _a = props.dimensions, dimensions = _a === void 0 ? {} : _a, fallback = props.fallback, image_url = props.image_url, thumb_url = props.thumb_url, innerRef = props.innerRef, previewUrl = props.previewUrl, style = props.style;
|
|
12
13
|
var _b = useState(false), modalIsOpen = _b[0], setModalIsOpen = _b[1];
|
|
13
|
-
var _c = useComponentContext('ImageComponent').ModalGallery, ModalGallery =
|
|
14
|
+
var _c = useComponentContext('ImageComponent'), _d = _c.BaseImage, BaseImage = _d === void 0 ? DefaultBaseImage : _d, _e = _c.ModalGallery, ModalGallery = _e === void 0 ? DefaultModalGallery : _e;
|
|
14
15
|
var imageSrc = sanitizeUrl(previewUrl || image_url || thumb_url);
|
|
15
16
|
var toggleModal = function () { return setModalIsOpen(function (modalIsOpen) { return !modalIsOpen; }); };
|
|
16
17
|
return (React.createElement(React.Fragment, null,
|
|
17
|
-
React.createElement(
|
|
18
|
+
React.createElement(BaseImage, __assign({ alt: fallback, className: 'str-chat__message-attachment--img', "data-testid": 'image-test', onClick: toggleModal, src: imageSrc, style: style, tabIndex: 0, title: fallback }, dimensions, (innerRef && { ref: innerRef }))),
|
|
18
19
|
React.createElement(Modal, { onClose: toggleModal, open: modalIsOpen },
|
|
19
20
|
React.createElement(ModalGallery, { images: [props], index: 0 }))));
|
|
20
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalGallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/ModalGallery.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModalGallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/ModalGallery.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,4CAA4C;IAC5C,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACzC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,iJA8BxB,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import ImageGallery from 'react-image-gallery';
|
|
3
|
+
import { useTranslationContext } from '../../context';
|
|
3
4
|
export var ModalGallery = function (props) {
|
|
4
5
|
var images = props.images, index = props.index;
|
|
6
|
+
var t = useTranslationContext('ModalGallery').t;
|
|
5
7
|
var formattedArray = useMemo(function () {
|
|
6
8
|
return images.map(function (image) {
|
|
7
9
|
var imageSrc = image.image_url || image.thumb_url || '';
|
|
8
10
|
return {
|
|
9
11
|
original: imageSrc,
|
|
10
|
-
originalAlt: 'User uploaded content',
|
|
12
|
+
originalAlt: t('User uploaded content'),
|
|
11
13
|
source: imageSrc,
|
|
12
14
|
};
|
|
13
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export declare const AttachmentPreviewList: () => JSX.Element;
|
|
2
|
+
declare type PreviewItemProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const ImagePreviewItem: ({ id }: PreviewItemProps) => JSX.Element | null;
|
|
6
|
+
export {};
|
|
2
7
|
//# sourceMappingURL=AttachmentPreviewList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentPreviewList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/AttachmentPreviewList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttachmentPreviewList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/AttachmentPreviewList.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,mBAkBjC,CAAC;AAEF,aAAK,gBAAgB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,uBA+DxD,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import clsx from 'clsx';
|
|
2
|
+
import React, { useCallback, useState } from 'react';
|
|
3
|
+
import { BaseImage as DefaultBaseImage } from '../Gallery';
|
|
2
4
|
import { FileIcon } from '../ReactFileUtilities';
|
|
3
|
-
import { useMessageInputContext } from '../../context
|
|
5
|
+
import { useComponentContext, useMessageInputContext } from '../../context';
|
|
4
6
|
import { useFileState } from './hooks/useFileState';
|
|
5
7
|
import { CloseIcon, DownloadIcon, LoadingIndicatorIcon, RetryIcon } from './icons';
|
|
6
8
|
export var AttachmentPreviewList = function () {
|
|
@@ -10,28 +12,32 @@ export var AttachmentPreviewList = function () {
|
|
|
10
12
|
imageOrder.map(function (id) { return (React.createElement(ImagePreviewItem, { id: id, key: id })); }),
|
|
11
13
|
fileOrder.map(function (id) { return (React.createElement(FilePreviewItem, { id: id, key: id })); }))));
|
|
12
14
|
};
|
|
13
|
-
var ImagePreviewItem = function (_a) {
|
|
15
|
+
export var ImagePreviewItem = function (_a) {
|
|
14
16
|
var _b;
|
|
15
17
|
var id = _a.id;
|
|
16
|
-
var _c =
|
|
18
|
+
var _c = useComponentContext('ImagePreviewItem').BaseImage, BaseImage = _c === void 0 ? DefaultBaseImage : _c;
|
|
19
|
+
var _d = useMessageInputContext('ImagePreviewItem'), imageUploads = _d.imageUploads, removeImage = _d.removeImage, uploadImage = _d.uploadImage;
|
|
20
|
+
var _e = useState(false), previewError = _e[0], setPreviewError = _e[1];
|
|
17
21
|
var handleRemove = useCallback(function (e) {
|
|
18
22
|
e.stopPropagation();
|
|
19
23
|
removeImage(id);
|
|
20
24
|
}, [removeImage, id]);
|
|
21
25
|
var handleRetry = useCallback(function () { return uploadImage(id); }, [uploadImage, id]);
|
|
26
|
+
var handleLoadError = useCallback(function () { return setPreviewError(true); }, []);
|
|
22
27
|
var image = imageUploads[id];
|
|
23
|
-
var state = useFileState(image);
|
|
24
28
|
// do not display scraped attachments
|
|
25
29
|
if (!image || image.og_scrape_url)
|
|
26
30
|
return null;
|
|
27
|
-
return (React.createElement("div", { className: 'str-chat__attachment-preview-image',
|
|
28
|
-
|
|
31
|
+
return (React.createElement("div", { className: clsx('str-chat__attachment-preview-image', {
|
|
32
|
+
'str-chat__attachment-preview-image--error': previewError,
|
|
33
|
+
}), "data-testid": 'attachment-preview-image' },
|
|
34
|
+
React.createElement("button", { className: 'str-chat__attachment-preview-delete', "data-testid": 'image-preview-item-delete-button', disabled: image.state === 'uploading', onClick: handleRemove },
|
|
29
35
|
React.createElement(CloseIcon, null)),
|
|
30
|
-
state
|
|
36
|
+
image.state === 'failed' && (React.createElement("button", { className: 'str-chat__attachment-preview-error str-chat__attachment-preview-error-image', "data-testid": 'image-preview-item-retry-button', onClick: handleRetry },
|
|
31
37
|
React.createElement(RetryIcon, null))),
|
|
32
|
-
state
|
|
38
|
+
image.state === 'uploading' && (React.createElement("div", { className: 'str-chat__attachment-preview-image-loading' },
|
|
33
39
|
React.createElement(LoadingIndicatorIcon, { size: 17 }))),
|
|
34
|
-
(image.previewUri || image.url) && (React.createElement(
|
|
40
|
+
(image.previewUri || image.url) && (React.createElement(BaseImage, { alt: image.file.name, className: 'str-chat__attachment-preview-thumbnail', onError: handleLoadError, src: (_b = image.previewUri) !== null && _b !== void 0 ? _b : image.url, title: image.file.name }))));
|
|
35
41
|
};
|
|
36
42
|
var FilePreviewItem = function (_a) {
|
|
37
43
|
var id = _a.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
|
package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrependMessagesCount.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"usePrependMessagesCount.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAOzE,wBAAgB,yBAAyB,CACvC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,UAgEzE"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { useMemo, useRef } from 'react';
|
|
2
|
-
var STATUSES_EXCLUDED_FROM_PREPEND =
|
|
2
|
+
var STATUSES_EXCLUDED_FROM_PREPEND = {
|
|
3
|
+
failed: true,
|
|
4
|
+
sending: true,
|
|
5
|
+
};
|
|
3
6
|
export function usePrependedMessagesCount(messages, hasDateSeparator) {
|
|
4
7
|
var firstRealMessageIndex = hasDateSeparator ? 1 : 0;
|
|
5
|
-
var
|
|
6
|
-
var
|
|
8
|
+
var firstMessageOnFirstLoadedPage = useRef();
|
|
9
|
+
var previousFirstMessageOnFirstLoadedPage = useRef();
|
|
7
10
|
var previousNumItemsPrepended = useRef(0);
|
|
8
11
|
var numItemsPrepended = useMemo(function () {
|
|
9
12
|
var _a, _b;
|
|
@@ -11,46 +14,42 @@ export function usePrependedMessagesCount(messages, hasDateSeparator) {
|
|
|
11
14
|
previousNumItemsPrepended.current = 0;
|
|
12
15
|
return 0;
|
|
13
16
|
}
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
var currentFirstMessage = messages === null || messages === void 0 ? void 0 : messages[firstRealMessageIndex];
|
|
18
|
+
var noNewMessages = (currentFirstMessage === null || currentFirstMessage === void 0 ? void 0 : currentFirstMessage.id) === ((_a = previousFirstMessageOnFirstLoadedPage.current) === null || _a === void 0 ? void 0 : _a.id);
|
|
19
|
+
// This is possible only, when sending messages very quickly (basically single char messages submitted like a crazy) in empty channel (first page)
|
|
20
|
+
// Optimistic UI update, when sending messages, can lead to a situation, when
|
|
21
|
+
// the order of the messages changes for a moment. This can happen, when a user
|
|
22
|
+
// sends multiple messages withing few milliseconds. E.g. we send a message A
|
|
23
|
+
// then message B. At first we have message array with both messages of status "sending"
|
|
24
|
+
// then response for message A is received with a new - later - created_at timestamp
|
|
25
|
+
// this leads to rearrangement of 1.B ("sending"), 2.A ("received"). Still firstMessageOnFirstLoadedPage.current
|
|
26
|
+
// points to message A, but now this message has index 1 => previousNumItemsPrepended.current === 1
|
|
27
|
+
// That in turn leads to incorrect index calculation in VirtualizedMessageList trying to access a message
|
|
28
|
+
// at non-existent index. Therefore, we ignore messages of status "sending" / "failed" in order they are
|
|
29
|
+
// not considered as prepended messages.
|
|
30
|
+
var firstMsgMovedAfterMessagesInExcludedStatus = (currentFirstMessage === null || currentFirstMessage === void 0 ? void 0 : currentFirstMessage.status) && STATUSES_EXCLUDED_FROM_PREPEND[currentFirstMessage.status];
|
|
31
|
+
if (noNewMessages || firstMsgMovedAfterMessagesInExcludedStatus) {
|
|
17
32
|
return previousNumItemsPrepended.current;
|
|
18
33
|
}
|
|
19
|
-
if (!
|
|
20
|
-
|
|
34
|
+
if (!firstMessageOnFirstLoadedPage.current) {
|
|
35
|
+
firstMessageOnFirstLoadedPage.current = currentFirstMessage;
|
|
21
36
|
}
|
|
22
|
-
|
|
37
|
+
previousFirstMessageOnFirstLoadedPage.current = currentFirstMessage;
|
|
23
38
|
// if new messages were prepended, find out how many
|
|
24
39
|
// start with this number because there cannot be fewer prepended items than before
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
// then message B. At first we have message array with both messages of status "sending"
|
|
31
|
-
// then response for message A is received with a new - later - created_at timestamp
|
|
32
|
-
// this leads to rearrangement of 1.B ("sending"), 2.A ("received"). Still firstMessageId.current
|
|
33
|
-
// points to message A, but now this message has index 1 => previousNumItemsPrepended.current === 1
|
|
34
|
-
// That in turn leads to incorrect index calculation in VirtualizedMessageList trying to access a message
|
|
35
|
-
// at non-existent index. Therefore, we ignore messages of status "sending" / "failed" in order they are
|
|
36
|
-
// not considered as prepended messages.
|
|
37
|
-
if (((_b = messages[i]) === null || _b === void 0 ? void 0 : _b.status) &&
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
39
|
-
STATUSES_EXCLUDED_FROM_PREPEND.includes(messages[i].status) &&
|
|
40
|
-
messages[i].id !== firstMessageId.current) {
|
|
41
|
-
adjustPrependedMessageCount++;
|
|
42
|
-
}
|
|
43
|
-
if (messages[i].id === firstMessageId.current) {
|
|
44
|
-
previousNumItemsPrepended.current = i - adjustPrependedMessageCount;
|
|
45
|
-
return previousNumItemsPrepended.current;
|
|
40
|
+
for (var prependedMessageCount = previousNumItemsPrepended.current; prependedMessageCount < messages.length; prependedMessageCount += 1) {
|
|
41
|
+
var messageIsFirstOnFirstLoadedPage = messages[prependedMessageCount].id === ((_b = firstMessageOnFirstLoadedPage.current) === null || _b === void 0 ? void 0 : _b.id);
|
|
42
|
+
if (messageIsFirstOnFirstLoadedPage) {
|
|
43
|
+
previousNumItemsPrepended.current = prependedMessageCount;
|
|
44
|
+
return prependedMessageCount;
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
// if no match has found, we have jumped - reset the prepended item count.
|
|
49
|
-
|
|
48
|
+
firstMessageOnFirstLoadedPage.current = currentFirstMessage;
|
|
50
49
|
previousNumItemsPrepended.current = 0;
|
|
51
50
|
return 0;
|
|
52
51
|
// TODO: there's a bug here, the messages prop is the same array instance (something mutates it)
|
|
53
52
|
// that's why the second dependency is necessary
|
|
54
|
-
}, [messages, messages === null || messages === void 0 ? void 0 : messages.length]);
|
|
53
|
+
}, [firstRealMessageIndex, messages, messages === null || messages === void 0 ? void 0 : messages.length]);
|
|
55
54
|
return numItemsPrepended;
|
|
56
55
|
}
|
|
@@ -62,7 +62,7 @@ export declare const useChannelStateContext: <StreamChatGenerics extends Default
|
|
|
62
62
|
* wrapped component must be provided as the first generic.
|
|
63
63
|
*/
|
|
64
64
|
export declare const withChannelStateContext: <P extends UnknownType, StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(Component: React.ComponentType<P>) => {
|
|
65
|
-
(props: Omit<P, "error" | "notifications" | "channel" | "loading" | "read" | "members" | "messages" | "watcher_count" | "watchers" | "mutes" | "maxNumberOfFiles" | "thread" | "suppressAutoscroll" | "hasMore" | "hasMoreNewer" | "highlightedMessageId" | "loadingMore" | "loadingMoreNewer" | "pinnedMessages" | "quotedMessage" | "threadHasMore" | "threadLoadingMore" | "threadMessages" | "threadSuppressAutoscroll" | "watcherCount" | "channelConfig" | "
|
|
65
|
+
(props: Omit<P, "error" | "notifications" | "channel" | "loading" | "read" | "members" | "messages" | "watcher_count" | "watchers" | "mutes" | "maxNumberOfFiles" | "thread" | "suppressAutoscroll" | "hasMore" | "hasMoreNewer" | "highlightedMessageId" | "loadingMore" | "loadingMoreNewer" | "pinnedMessages" | "quotedMessage" | "threadHasMore" | "threadLoadingMore" | "threadMessages" | "threadSuppressAutoscroll" | "watcherCount" | "channelConfig" | "channelCapabilities" | "multipleUploads" | "acceptedFiles" | "dragAndDropWindow" | "enrichURLForPreview" | "debounceURLEnrichmentMs" | "findURLFn" | "onLinkPreviewDismissed" | "imageAttachmentSizeHandler" | "shouldGenerateVideoThumbnail" | "videoAttachmentSizeHandler" | "giphyVersion">): JSX.Element;
|
|
66
66
|
displayName: string;
|
|
67
67
|
};
|
|
68
68
|
//# sourceMappingURL=ChannelStateContext.d.ts.map
|
|
@@ -27,7 +27,7 @@ import type { SendButtonProps } from '../components/MessageInput/icons';
|
|
|
27
27
|
import type { ThreadHeaderProps } from '../components/Thread/ThreadHeader';
|
|
28
28
|
import type { TypingIndicatorProps } from '../components/TypingIndicator/TypingIndicator';
|
|
29
29
|
import type { CustomTrigger, DefaultStreamChatGenerics, UnknownType } from '../types/types';
|
|
30
|
-
import type { CooldownTimerProps } from '../components';
|
|
30
|
+
import type { BaseImageProps, CooldownTimerProps } from '../components';
|
|
31
31
|
import type { LinkPreviewListProps } from '../components/MessageInput/LinkPreviewList';
|
|
32
32
|
export declare type ComponentContextValue<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger> = {
|
|
33
33
|
Attachment: React.ComponentType<AttachmentProps<StreamChatGenerics>>;
|
|
@@ -37,6 +37,7 @@ export declare type ComponentContextValue<StreamChatGenerics extends DefaultStre
|
|
|
37
37
|
AutocompleteSuggestionItem?: React.ComponentType<SuggestionItemProps<StreamChatGenerics>>;
|
|
38
38
|
AutocompleteSuggestionList?: React.ComponentType<SuggestionListProps<StreamChatGenerics>>;
|
|
39
39
|
Avatar?: React.ComponentType<AvatarProps<StreamChatGenerics>>;
|
|
40
|
+
BaseImage?: React.ComponentType<BaseImageProps>;
|
|
40
41
|
CooldownTimer?: React.ComponentType<CooldownTimerProps>;
|
|
41
42
|
DateSeparator?: React.ComponentType<DateSeparatorProps>;
|
|
42
43
|
EditMessageInput?: React.ComponentType<MessageInputProps<StreamChatGenerics>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentContext.d.ts","sourceRoot":"","sources":["../../src/context/ComponentContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACxG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ComponentContext.d.ts","sourceRoot":"","sources":["../../src/context/ComponentContext.tsx"],"names":[],"mappings":"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"}
|