stream-chat-react 10.1.2 → 10.3.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 +253 -72
- 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/AttachmentContainer.d.ts.map +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +67 -15
- package/dist/components/Attachment/attachment-sizing.d.ts +9 -0
- package/dist/components/Attachment/attachment-sizing.d.ts.map +1 -0
- package/dist/components/Attachment/attachment-sizing.js +72 -0
- package/dist/components/Channel/Channel.d.ts +7 -1
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +2 -1
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +5 -1
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +2 -2
- package/dist/components/ChannelList/ChannelListMessenger.js +2 -2
- package/dist/components/Gallery/Gallery.d.ts +7 -2
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.js +16 -5
- package/dist/components/Gallery/Image.d.ts +4 -0
- package/dist/components/Gallery/Image.d.ts.map +1 -1
- package/dist/components/Gallery/Image.js +3 -3
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +19 -4
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +28 -6
- package/dist/components/LoadMore/LoadMoreButton.d.ts +7 -2
- package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMoreButton.js +9 -4
- package/dist/components/LoadMore/LoadMorePaginator.d.ts +2 -7
- package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMorePaginator.js +8 -3
- package/dist/components/Message/hooks/useUserRole.d.ts +1 -1
- package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/components/Message/hooks/useUserRole.js +5 -5
- package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useFileUploads.js +1 -0
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +2 -0
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputState.js +2 -1
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +1 -0
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +2 -3
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +0 -1
- package/dist/components/MessageList/hooks/useMessageListElements.d.ts +0 -1
- package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useMessageListElements.js +2 -3
- package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +0 -1
- package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useScrollLocationLogic.js +0 -10
- package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/SimpleReactionsList.js +26 -6
- package/dist/components/Thread/Thread.d.ts.map +1 -1
- package/dist/components/Thread/Thread.js +7 -2
- package/dist/context/ChannelStateContext.d.ts +5 -2
- package/dist/context/ChannelStateContext.d.ts.map +1 -1
- package/dist/css/index.css +1 -1
- package/dist/css/index.css.map +1 -1
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.css.map +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/css/v2/index.layout.css.map +1 -1
- package/dist/index.cjs.js +252 -71
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/scss/Attachment.scss +44 -17
- package/dist/scss/Audio.scss +1 -0
- package/dist/scss/ChannelList.scss +14 -0
- package/dist/scss/ChannelSearch.scss +8 -8
- package/dist/scss/Message.scss +28 -11
- package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +33 -19
- package/dist/scss/v2/ChannelList/ChannelList-layout.scss +14 -0
- package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +68 -51
- package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +48 -0
- package/dist/scss/v2/Message/Message-layout.scss +12 -0
- package/dist/scss/v2/Message/Message-theme.scss +20 -0
- package/dist/scss/v2/MessageList/MessageList-layout.scss +1 -4
- package/dist/scss/v2/MessageList/VirtualizedMessageList-layout.scss +21 -0
- package/dist/scss/v2/MessageList/VirtualizedMessageList-theme.scss +9 -0
- package/dist/scss/v2/Notification/NotificationList-theme.scss +2 -2
- package/dist/scss/v2/Tooltip/Tooltip-layout.scss +1 -1
- package/dist/scss/v2/_utils.scss +8 -0
- package/dist/stories/attachment-sizing.stories.d.ts +2 -0
- package/dist/stories/attachment-sizing.stories.d.ts.map +1 -0
- package/dist/stories/attachment-sizing.stories.js +179 -0
- package/dist/types/types.d.ts +19 -2
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/deprecationWarning.d.ts +2 -0
- package/dist/utils/deprecationWarning.d.ts.map +1 -0
- package/dist/utils/deprecationWarning.js +12 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentContainer.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/AttachmentContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AttachmentContainer.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/AttachmentContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAqC,MAAM,OAAO,CAAC;AASpF,OAAO,EACL,wBAAwB,EAGxB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,yBAAyB,oNA+BrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wMAkBtC,CAAC;AAoBF,eAAO,MAAM,gBAAgB,qKAwC5B,CAAC;AAEF,eAAO,MAAM,cAAc,qJA0C1B,CAAC;AAEF,eAAO,MAAM,aAAa,qJAwBzB,CAAC;AAEF,eAAO,MAAM,aAAa,4KAazB,CAAC;AACF,eAAO,MAAM,cAAc,sKAW1B,CAAC;AAEF,eAAO,MAAM,cAAc,qJAuD1B,CAAC"}
|
|
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import React from 'react';
|
|
12
|
+
import React, { useLayoutEffect, useRef, useState } from 'react';
|
|
13
13
|
import ReactPlayer from 'react-player';
|
|
14
14
|
import clsx from 'clsx';
|
|
15
15
|
import { AttachmentActions as DefaultAttachmentActions } from './AttachmentActions';
|
|
@@ -18,6 +18,7 @@ import { Gallery as DefaultGallery, ImageComponent as DefaultImage } from '../Ga
|
|
|
18
18
|
import { Card as DefaultCard } from './Card';
|
|
19
19
|
import { FileAttachment as DefaultFile } from './FileAttachment';
|
|
20
20
|
import { isGalleryAttachmentType, isSvgAttachment, } from './utils';
|
|
21
|
+
import { useChannelStateContext } from '../../context/ChannelStateContext';
|
|
21
22
|
export var AttachmentWithinContainer = function (_a) {
|
|
22
23
|
var _b;
|
|
23
24
|
var _c;
|
|
@@ -32,7 +33,7 @@ export var AttachmentWithinContainer = function (_a) {
|
|
|
32
33
|
? 'actions'
|
|
33
34
|
: '';
|
|
34
35
|
}
|
|
35
|
-
var classNames = clsx('str-chat__message-attachment', (_b = {},
|
|
36
|
+
var classNames = clsx('str-chat__message-attachment str-chat__message-attachment-dynamic-size', (_b = {},
|
|
36
37
|
_b["str-chat__message-attachment--".concat(componentType)] = componentType,
|
|
37
38
|
_b["str-chat__message-attachment--".concat(attachment === null || attachment === void 0 ? void 0 : attachment.type)] = attachment === null || attachment === void 0 ? void 0 : attachment.type,
|
|
38
39
|
_b["str-chat__message-attachment--".concat(componentType, "--").concat(extra)] = componentType && extra,
|
|
@@ -48,22 +49,68 @@ export var AttachmentActionsContainer = function (_a) {
|
|
|
48
49
|
return null;
|
|
49
50
|
return (React.createElement(AttachmentActions, __assign({}, attachment, { actionHandler: actionHandler, actions: attachment.actions, id: attachment.id || '', text: attachment.text || '' })));
|
|
50
51
|
};
|
|
52
|
+
function getCssDimensionsVariables(url) {
|
|
53
|
+
var _a;
|
|
54
|
+
var cssVars = (_a = {},
|
|
55
|
+
_a['--original-height'] = 1000000,
|
|
56
|
+
_a['--original-width'] = 1000000,
|
|
57
|
+
_a);
|
|
58
|
+
if (url) {
|
|
59
|
+
var urlParams = new URL(url).searchParams;
|
|
60
|
+
var oh = Number(urlParams.get('oh'));
|
|
61
|
+
var ow = Number(urlParams.get('ow'));
|
|
62
|
+
var originalHeight = oh > 1 ? oh : 1000000;
|
|
63
|
+
var originalWidth = ow > 1 ? ow : 1000000;
|
|
64
|
+
cssVars['--original-width'] = originalWidth;
|
|
65
|
+
cssVars['--original-height'] = originalHeight;
|
|
66
|
+
}
|
|
67
|
+
return cssVars;
|
|
68
|
+
}
|
|
51
69
|
export var GalleryContainer = function (_a) {
|
|
52
70
|
var attachment = _a.attachment, _b = _a.Gallery, Gallery = _b === void 0 ? DefaultGallery : _b;
|
|
71
|
+
var imageElements = useRef([]);
|
|
72
|
+
var imageAttachmentSizeHandler = useChannelStateContext().imageAttachmentSizeHandler;
|
|
73
|
+
var _c = useState([]), attachmentConfigurations = _c[0], setAttachmentConfigurations = _c[1];
|
|
74
|
+
useLayoutEffect(function () {
|
|
75
|
+
if (imageElements.current &&
|
|
76
|
+
imageElements.current.every(function (element) { return !!element; }) &&
|
|
77
|
+
imageAttachmentSizeHandler) {
|
|
78
|
+
var newConfigurations_1 = [];
|
|
79
|
+
imageElements.current.forEach(function (element, i) {
|
|
80
|
+
var config = imageAttachmentSizeHandler(attachment.images[i], element);
|
|
81
|
+
newConfigurations_1.push(config);
|
|
82
|
+
});
|
|
83
|
+
setAttachmentConfigurations(newConfigurations_1);
|
|
84
|
+
}
|
|
85
|
+
}, [imageElements, imageAttachmentSizeHandler, attachment]);
|
|
86
|
+
var images = attachment.images.map(function (image, i) {
|
|
87
|
+
var _a, _b, _c;
|
|
88
|
+
return (__assign(__assign({}, image), { previewUrl: ((_a = attachmentConfigurations[i]) === null || _a === void 0 ? void 0 : _a.url) || 'about:blank', style: getCssDimensionsVariables(((_b = attachment.images[i]) === null || _b === void 0 ? void 0 : _b.image_url) || ((_c = attachment.images[i]) === null || _c === void 0 ? void 0 : _c.thumb_url) || '') }));
|
|
89
|
+
});
|
|
53
90
|
return (React.createElement(AttachmentWithinContainer, { attachment: attachment, componentType: 'gallery' },
|
|
54
|
-
React.createElement(Gallery, { images:
|
|
91
|
+
React.createElement(Gallery, { images: images || [], innerRefs: imageElements, key: 'gallery' })));
|
|
55
92
|
};
|
|
56
93
|
export var ImageContainer = function (props) {
|
|
57
94
|
var attachment = props.attachment, _a = props.Image, Image = _a === void 0 ? DefaultImage : _a;
|
|
58
95
|
var componentType = 'image';
|
|
96
|
+
var imageElement = useRef(null);
|
|
97
|
+
var imageAttachmentSizeHandler = useChannelStateContext().imageAttachmentSizeHandler;
|
|
98
|
+
var _b = useState(undefined), attachmentConfiguration = _b[0], setAttachmentConfiguration = _b[1];
|
|
99
|
+
useLayoutEffect(function () {
|
|
100
|
+
if (imageElement.current && imageAttachmentSizeHandler) {
|
|
101
|
+
var config = imageAttachmentSizeHandler(attachment, imageElement.current);
|
|
102
|
+
setAttachmentConfiguration(config);
|
|
103
|
+
}
|
|
104
|
+
}, [imageElement, imageAttachmentSizeHandler, attachment]);
|
|
105
|
+
var imageConfig = __assign(__assign({}, attachment), { previewUrl: (attachmentConfiguration === null || attachmentConfiguration === void 0 ? void 0 : attachmentConfiguration.url) || 'about:blank', style: getCssDimensionsVariables(attachment.image_url || attachment.thumb_url || '') });
|
|
59
106
|
if (attachment.actions && attachment.actions.length) {
|
|
60
107
|
return (React.createElement(AttachmentWithinContainer, { attachment: attachment, componentType: componentType },
|
|
61
108
|
React.createElement("div", { className: 'str-chat__attachment' },
|
|
62
|
-
React.createElement(Image, __assign({},
|
|
109
|
+
React.createElement(Image, __assign({}, imageConfig, { innerRef: imageElement })),
|
|
63
110
|
React.createElement(AttachmentActionsContainer, __assign({}, props)))));
|
|
64
111
|
}
|
|
65
112
|
return (React.createElement(AttachmentWithinContainer, { attachment: attachment, componentType: componentType },
|
|
66
|
-
React.createElement(Image, __assign({},
|
|
113
|
+
React.createElement(Image, __assign({}, imageConfig, { innerRef: imageElement }))));
|
|
67
114
|
};
|
|
68
115
|
export var CardContainer = function (props) {
|
|
69
116
|
var attachment = props.attachment, _a = props.Card, Card = _a === void 0 ? DefaultCard : _a;
|
|
@@ -94,14 +141,19 @@ export var MediaContainer = function (props) {
|
|
|
94
141
|
var _a;
|
|
95
142
|
var attachment = props.attachment, _b = props.Media, Media = _b === void 0 ? ReactPlayer : _b;
|
|
96
143
|
var componentType = 'media';
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
144
|
+
var _c = useChannelStateContext(), shouldGenerateVideoThumbnail = _c.shouldGenerateVideoThumbnail, videoAttachmentSizeHandler = _c.videoAttachmentSizeHandler;
|
|
145
|
+
var videoElement = useRef(null);
|
|
146
|
+
var _d = useState(), attachmentConfiguration = _d[0], setAttachmentConfiguration = _d[1];
|
|
147
|
+
useLayoutEffect(function () {
|
|
148
|
+
if (videoElement.current && videoAttachmentSizeHandler) {
|
|
149
|
+
var config = videoAttachmentSizeHandler(attachment, videoElement.current, shouldGenerateVideoThumbnail);
|
|
150
|
+
setAttachmentConfiguration(config);
|
|
151
|
+
}
|
|
152
|
+
}, [videoElement, videoAttachmentSizeHandler, attachment]);
|
|
153
|
+
var content = (React.createElement("div", { className: 'str-chat__player-wrapper', "data-testid": 'video-wrapper', ref: videoElement, style: getCssDimensionsVariables(attachment.thumb_url || '') },
|
|
154
|
+
React.createElement(Media, { className: 'react-player', config: { file: { attributes: { poster: attachmentConfiguration === null || attachmentConfiguration === void 0 ? void 0 : attachmentConfiguration.thumbUrl } } }, controls: true, height: '100%', url: attachmentConfiguration === null || attachmentConfiguration === void 0 ? void 0 : attachmentConfiguration.url, width: '100%' })));
|
|
155
|
+
return ((_a = attachment.actions) === null || _a === void 0 ? void 0 : _a.length) ? (React.createElement(AttachmentWithinContainer, { attachment: attachment, componentType: componentType },
|
|
156
|
+
React.createElement("div", { className: 'str-chat__attachment str-chat__attachment-media' },
|
|
157
|
+
content,
|
|
158
|
+
React.createElement(AttachmentActionsContainer, __assign({}, props))))) : (React.createElement(AttachmentWithinContainer, { attachment: attachment, componentType: componentType }, content));
|
|
107
159
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Attachment } from 'stream-chat';
|
|
2
|
+
export declare const getImageAttachmentConfiguration: (attachment: Attachment, element: HTMLElement) => {
|
|
3
|
+
url: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const getVideoAttachmentConfiguration: (attachment: Attachment, element: HTMLElement, shouldGenerateVideoThumbnail: boolean) => {
|
|
6
|
+
thumbUrl: string | undefined;
|
|
7
|
+
url: string;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=attachment-sizing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-sizing.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/attachment-sizing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,+BAA+B,eAAgB,UAAU,WAAW,WAAW;;CAc3F,CAAC;AAEF,eAAO,MAAM,+BAA+B,eAC9B,UAAU,WACb,WAAW,gCACU,OAAO;;;CAoBtC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export var getImageAttachmentConfiguration = function (attachment, element) {
|
|
2
|
+
var url = new URL((attachment.image_url || attachment.thumb_url || ''));
|
|
3
|
+
var resizeDimensions = getSizingRestrictions(url, element);
|
|
4
|
+
if (resizeDimensions) {
|
|
5
|
+
// Apply 2x for retina displays
|
|
6
|
+
resizeDimensions.height *= 2;
|
|
7
|
+
resizeDimensions.width *= 2;
|
|
8
|
+
addResizingParamsToUrl(resizeDimensions, url);
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
url: url.href,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export var getVideoAttachmentConfiguration = function (attachment, element, shouldGenerateVideoThumbnail) {
|
|
15
|
+
var thumbUrl = undefined;
|
|
16
|
+
if (attachment.thumb_url && shouldGenerateVideoThumbnail) {
|
|
17
|
+
var url = new URL(attachment.thumb_url);
|
|
18
|
+
var resizeDimensions = getSizingRestrictions(url, element);
|
|
19
|
+
if (resizeDimensions) {
|
|
20
|
+
// Apply 2x for retina displays
|
|
21
|
+
resizeDimensions.height *= 2;
|
|
22
|
+
resizeDimensions.width *= 2;
|
|
23
|
+
addResizingParamsToUrl(resizeDimensions, url);
|
|
24
|
+
}
|
|
25
|
+
thumbUrl = url.href;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
thumbUrl: thumbUrl,
|
|
29
|
+
url: attachment.asset_url || '',
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
var getSizingRestrictions = function (url, htmlElement) {
|
|
33
|
+
var urlParams = url.searchParams;
|
|
34
|
+
var originalHeight = Number(urlParams.get('oh')) || 1;
|
|
35
|
+
var originalWidth = Number(urlParams.get('ow')) || 1;
|
|
36
|
+
var cssSizeRestriction = getCSSSizeRestrictions(htmlElement);
|
|
37
|
+
var resizeDimensions;
|
|
38
|
+
if ((cssSizeRestriction.maxHeight || cssSizeRestriction.height) && cssSizeRestriction.maxWidth) {
|
|
39
|
+
resizeDimensions = getResizeDimensions(originalHeight, originalWidth,
|
|
40
|
+
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
41
|
+
cssSizeRestriction.maxHeight || cssSizeRestriction.height, cssSizeRestriction.maxWidth);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
resizeDimensions = undefined;
|
|
45
|
+
}
|
|
46
|
+
return resizeDimensions;
|
|
47
|
+
};
|
|
48
|
+
var getResizeDimensions = function (originalHeight, originalWidth, maxHeight, maxWidth) { return ({
|
|
49
|
+
height: Math.round(Math.max(maxHeight, (maxWidth / originalWidth) * originalHeight)),
|
|
50
|
+
width: Math.round(Math.max(maxHeight, (maxWidth / originalHeight) * originalWidth)),
|
|
51
|
+
}); };
|
|
52
|
+
var getCSSSizeRestrictions = function (htmlElement) {
|
|
53
|
+
var computedStylesheet = getComputedStyle(htmlElement);
|
|
54
|
+
var height = getValueRepresentationOfCSSProperty(computedStylesheet.getPropertyValue('height'));
|
|
55
|
+
var maxHeight = getValueRepresentationOfCSSProperty(computedStylesheet.getPropertyValue('max-height'));
|
|
56
|
+
var maxWidth = getValueRepresentationOfCSSProperty(computedStylesheet.getPropertyValue('max-width'));
|
|
57
|
+
if (!((height || maxHeight) && maxWidth)) {
|
|
58
|
+
console.warn("Invalid value set for height/max-height and/or max-width for HTML element, this can cause scrolling issues inside the message list, more info https://getstream.io/chat/docs/sdk/react/message-components/attachment/#image-and-video-sizing");
|
|
59
|
+
}
|
|
60
|
+
return { height: height, maxHeight: maxHeight, maxWidth: maxWidth };
|
|
61
|
+
};
|
|
62
|
+
var getValueRepresentationOfCSSProperty = function (property) {
|
|
63
|
+
if (!property.endsWith('px')) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
var number = parseFloat(property);
|
|
67
|
+
return isNaN(number) ? undefined : number;
|
|
68
|
+
};
|
|
69
|
+
var addResizingParamsToUrl = function (resizeDimensions, url) {
|
|
70
|
+
url.searchParams.set('h', resizeDimensions.height.toString());
|
|
71
|
+
url.searchParams.set('w', resizeDimensions.width.toString());
|
|
72
|
+
};
|
|
@@ -7,7 +7,7 @@ import { EmojiContextValue } from '../../context/EmojiContext';
|
|
|
7
7
|
import type { Data as EmojiMartData } from 'emoji-mart';
|
|
8
8
|
import type { MessageProps } from '../Message/types';
|
|
9
9
|
import type { MessageInputProps } from '../MessageInput/MessageInput';
|
|
10
|
-
import type { CustomTrigger, DefaultStreamChatGenerics, GiphyVersions } from '../../types/types';
|
|
10
|
+
import type { CustomTrigger, DefaultStreamChatGenerics, GiphyVersions, ImageAttachmentSizeHandler, VideoAttachmentSizeHandler } from '../../types/types';
|
|
11
11
|
export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger> = {
|
|
12
12
|
/** List of accepted file types */
|
|
13
13
|
acceptedFiles?: string[];
|
|
@@ -61,6 +61,8 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
|
|
|
61
61
|
giphyVersion?: GiphyVersions;
|
|
62
62
|
/** Custom UI component to render at the top of the `MessageList` */
|
|
63
63
|
HeaderComponent?: ComponentContextValue<StreamChatGenerics>['HeaderComponent'];
|
|
64
|
+
/** A custom function to provide size configuration for image attachments */
|
|
65
|
+
imageAttachmentSizeHandler?: ImageAttachmentSizeHandler;
|
|
64
66
|
/** Custom UI component handling how the message input is rendered, defaults to and accepts the same props as [MessageInputFlat](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/MessageInputFlat.tsx) */
|
|
65
67
|
Input?: ComponentContextValue<StreamChatGenerics>['Input'];
|
|
66
68
|
/** Custom UI component to be shown if the channel query fails, defaults to and accepts same props as: [LoadingErrorIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Loading/LoadingErrorIndicator.tsx) */
|
|
@@ -109,6 +111,8 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
|
|
|
109
111
|
ReactionsList?: ComponentContextValue<StreamChatGenerics>['ReactionsList'];
|
|
110
112
|
/** Custom UI component for send button, defaults to and accepts same props as: [SendButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/icons.tsx) */
|
|
111
113
|
SendButton?: ComponentContextValue<StreamChatGenerics>['SendButton'];
|
|
114
|
+
/** You can turn on/off thumbnail generation for video attachments */
|
|
115
|
+
shouldGenerateVideoThumbnail?: boolean;
|
|
112
116
|
/** If true, skips the message data string comparison used to memoize the current channel messages (helpful for channels with 1000s of messages) */
|
|
113
117
|
skipMessageDataMemoization?: boolean;
|
|
114
118
|
/** Custom UI component that displays thread's parent or other message at the top of the `MessageList`, defaults to and accepts same props as [MessageSimple](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageSimple.tsx) */
|
|
@@ -121,6 +125,8 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
|
|
|
121
125
|
TriggerProvider?: ComponentContextValue<StreamChatGenerics>['TriggerProvider'];
|
|
122
126
|
/** Custom UI component for the typing indicator, defaults to and accepts same props as: [TypingIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/TypingIndicator/TypingIndicator.tsx) */
|
|
123
127
|
TypingIndicator?: ComponentContextValue<StreamChatGenerics>['TypingIndicator'];
|
|
128
|
+
/** A custom function to provide size configuration for video attachments */
|
|
129
|
+
videoAttachmentSizeHandler?: VideoAttachmentSizeHandler;
|
|
124
130
|
/** Custom UI component to display a message in the `VirtualizedMessageList`, does not have a default implementation */
|
|
125
131
|
VirtualMessage?: ComponentContextValue<StreamChatGenerics>['VirtualMessage'];
|
|
126
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAIf,OAAO,EAKL,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;AAepB,OAAO,EAAE,qBAAqB,EAAqB,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EAAe,iBAAiB,EAAiB,MAAM,4BAA4B,CAAC;AAc3F,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,
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,7 @@ import { hasMoreMessagesProbably, hasNotMoreMessages } from '../MessageList/util
|
|
|
86
86
|
import defaultEmojiData from '../../stream-emoji.json';
|
|
87
87
|
import { makeAddNotifications } from './utils';
|
|
88
88
|
import { useChannelContainerClasses } from './hooks/useChannelContainerClasses';
|
|
89
|
+
import { getImageAttachmentConfiguration, getVideoAttachmentConfiguration, } from '../Attachment/attachment-sizing';
|
|
89
90
|
var UnMemoizedChannel = function (props) {
|
|
90
91
|
var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a, LoadingErrorIndicator = props.LoadingErrorIndicator, _b = props.LoadingIndicator, LoadingIndicator = _b === void 0 ? DefaultLoadingIndicator : _b;
|
|
91
92
|
var _c = useChatContext('Channel'), contextChannel = _c.channel, channelsQueryState = _c.channelsQueryState, customClasses = _c.customClasses, theme = _c.theme;
|
|
@@ -572,7 +573,7 @@ var ChannelInner = function (props) {
|
|
|
572
573
|
var onMentionsHoverOrClick = useMentionsHandlers(onMentionsHover, onMentionsClick);
|
|
573
574
|
var editMessage = useEditMessageHandler(doUpdateMessageRequest);
|
|
574
575
|
var typing = state.typing, restState = __rest(state, ["typing"]);
|
|
575
|
-
var channelStateContextValue = useCreateChannelStateContext(__assign(__assign({}, restState), { acceptedFiles: acceptedFiles, channel: channel, channelCapabilitiesArray: channelCapabilitiesArray, channelConfig: channelConfig, dragAndDropWindow: dragAndDropWindow, giphyVersion: props.giphyVersion || 'fixed_height', maxNumberOfFiles: maxNumberOfFiles, multipleUploads: multipleUploads, mutes: mutes, notifications: notifications, quotedMessage: quotedMessage, watcher_count: state.watcherCount }));
|
|
576
|
+
var channelStateContextValue = useCreateChannelStateContext(__assign(__assign({}, restState), { acceptedFiles: acceptedFiles, channel: channel, channelCapabilitiesArray: channelCapabilitiesArray, channelConfig: channelConfig, dragAndDropWindow: dragAndDropWindow, giphyVersion: props.giphyVersion || 'fixed_height', imageAttachmentSizeHandler: props.imageAttachmentSizeHandler || getImageAttachmentConfiguration, maxNumberOfFiles: maxNumberOfFiles, multipleUploads: multipleUploads, mutes: mutes, notifications: notifications, quotedMessage: quotedMessage, shouldGenerateVideoThumbnail: props.shouldGenerateVideoThumbnail || true, videoAttachmentSizeHandler: props.videoAttachmentSizeHandler || getVideoAttachmentConfiguration, watcher_count: state.watcherCount }));
|
|
576
577
|
var channelActionContextValue = useMemo(function () { return ({
|
|
577
578
|
addNotification: addNotification,
|
|
578
579
|
closeThread: closeThread,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateChannelStateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateChannelStateContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,4BAA4B;8BAIX,MAAM,EAAE;;
|
|
1
|
+
{"version":3,"file":"useCreateChannelStateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateChannelStateContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,4BAA4B;8BAIX,MAAM,EAAE;;kDAkJrC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { useMemo } from 'react';
|
|
|
2
2
|
import { isDate, isDayOrMoment } from '../../../context/TranslationContext';
|
|
3
3
|
export var useCreateChannelStateContext = function (value) {
|
|
4
4
|
var _a;
|
|
5
|
-
var acceptedFiles = value.acceptedFiles, channel = value.channel, _b = value.channelCapabilitiesArray, channelCapabilitiesArray = _b === void 0 ? [] : _b, channelConfig = value.channelConfig, dragAndDropWindow = value.dragAndDropWindow, giphyVersion = value.giphyVersion, error = value.error, hasMore = value.hasMore, hasMoreNewer = value.hasMoreNewer, suppressAutoscroll = value.suppressAutoscroll, highlightedMessageId = value.highlightedMessageId, loading = value.loading, loadingMore = value.loadingMore, maxNumberOfFiles = value.maxNumberOfFiles, members = value.members, _c = value.messages, messages = _c === void 0 ? [] : _c, multipleUploads = value.multipleUploads, mutes = value.mutes, notifications = value.notifications, pinnedMessages = value.pinnedMessages, quotedMessage = value.quotedMessage, _d = value.read, read = _d === void 0 ? {} : _d, skipMessageDataMemoization = value.skipMessageDataMemoization, thread = value.thread, threadHasMore = value.threadHasMore, threadLoadingMore = value.threadLoadingMore, _e = value.threadMessages, threadMessages = _e === void 0 ? [] : _e, watcherCount = value.watcherCount, watcher_count = value.watcher_count, watchers = value.watchers;
|
|
5
|
+
var acceptedFiles = value.acceptedFiles, channel = value.channel, _b = value.channelCapabilitiesArray, channelCapabilitiesArray = _b === void 0 ? [] : _b, channelConfig = value.channelConfig, dragAndDropWindow = value.dragAndDropWindow, giphyVersion = value.giphyVersion, error = value.error, hasMore = value.hasMore, hasMoreNewer = value.hasMoreNewer, imageAttachmentSizeHandler = value.imageAttachmentSizeHandler, suppressAutoscroll = value.suppressAutoscroll, highlightedMessageId = value.highlightedMessageId, loading = value.loading, loadingMore = value.loadingMore, maxNumberOfFiles = value.maxNumberOfFiles, members = value.members, _c = value.messages, messages = _c === void 0 ? [] : _c, multipleUploads = value.multipleUploads, mutes = value.mutes, notifications = value.notifications, pinnedMessages = value.pinnedMessages, quotedMessage = value.quotedMessage, _d = value.read, read = _d === void 0 ? {} : _d, shouldGenerateVideoThumbnail = value.shouldGenerateVideoThumbnail, skipMessageDataMemoization = value.skipMessageDataMemoization, thread = value.thread, threadHasMore = value.threadHasMore, threadLoadingMore = value.threadLoadingMore, _e = value.threadMessages, threadMessages = _e === void 0 ? [] : _e, videoAttachmentSizeHandler = value.videoAttachmentSizeHandler, watcherCount = value.watcherCount, watcher_count = value.watcher_count, watchers = value.watchers;
|
|
6
6
|
var channelId = channel.cid;
|
|
7
7
|
var lastRead = channel.initialized && ((_a = channel.lastRead()) === null || _a === void 0 ? void 0 : _a.getTime());
|
|
8
8
|
var membersLength = Object.keys(members || []).length;
|
|
@@ -53,6 +53,7 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
53
53
|
hasMore: hasMore,
|
|
54
54
|
hasMoreNewer: hasMoreNewer,
|
|
55
55
|
highlightedMessageId: highlightedMessageId,
|
|
56
|
+
imageAttachmentSizeHandler: imageAttachmentSizeHandler,
|
|
56
57
|
loading: loading,
|
|
57
58
|
loadingMore: loadingMore,
|
|
58
59
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
@@ -64,11 +65,13 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
64
65
|
pinnedMessages: pinnedMessages,
|
|
65
66
|
quotedMessage: quotedMessage,
|
|
66
67
|
read: read,
|
|
68
|
+
shouldGenerateVideoThumbnail: shouldGenerateVideoThumbnail,
|
|
67
69
|
suppressAutoscroll: suppressAutoscroll,
|
|
68
70
|
thread: thread,
|
|
69
71
|
threadHasMore: threadHasMore,
|
|
70
72
|
threadLoadingMore: threadLoadingMore,
|
|
71
73
|
threadMessages: threadMessages,
|
|
74
|
+
videoAttachmentSizeHandler: videoAttachmentSizeHandler,
|
|
72
75
|
watcher_count: watcher_count,
|
|
73
76
|
watcherCount: watcherCount,
|
|
74
77
|
watchers: watchers,
|
|
@@ -88,6 +91,7 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
88
91
|
quotedMessage,
|
|
89
92
|
readUsersLength,
|
|
90
93
|
readUsersLastReads,
|
|
94
|
+
shouldGenerateVideoThumbnail,
|
|
91
95
|
skipMessageDataMemoization,
|
|
92
96
|
suppressAutoscroll,
|
|
93
97
|
thread,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -180,7 +180,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
180
180
|
};
|
|
181
181
|
return React.createElement(ChannelPreview, __assign({}, previewProps));
|
|
182
182
|
};
|
|
183
|
-
var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list', {
|
|
183
|
+
var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list str-chat__channel-list-react', {
|
|
184
184
|
'str-chat--windows-flags': useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/),
|
|
185
185
|
'str-chat-channel-list--open': navOpen,
|
|
186
186
|
});
|
|
@@ -188,7 +188,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
188
188
|
return (React.createElement(React.Fragment, null,
|
|
189
189
|
React.createElement("div", { className: className, ref: channelListRef },
|
|
190
190
|
showChannelSearch && (React.createElement(ChannelSearch, __assign({ onSearch: onSearch, onSearchExit: onSearchExit, setChannels: setChannels }, additionalChannelSearchProps))),
|
|
191
|
-
showChannelList && (React.createElement(List, { error: channelsQueryState.error, loadedChannels: sendChannelsToList ? loadedChannels : undefined, loading: channelsQueryState.queryInProgress === 'reload', LoadingErrorIndicator: LoadingErrorIndicator, LoadingIndicator: LoadingIndicator, setChannels: setChannels }, !(loadedChannels === null || loadedChannels === void 0 ? void 0 : loadedChannels.length) ? (React.createElement(EmptyStateIndicator, { listType: 'channel' })) : (React.createElement(Paginator, { hasNextPage: hasNextPage,
|
|
191
|
+
showChannelList && (React.createElement(List, { error: channelsQueryState.error, loadedChannels: sendChannelsToList ? loadedChannels : undefined, loading: channelsQueryState.queryInProgress === 'reload', LoadingErrorIndicator: LoadingErrorIndicator, LoadingIndicator: LoadingIndicator, setChannels: setChannels }, !(loadedChannels === null || loadedChannels === void 0 ? void 0 : loadedChannels.length) ? (React.createElement(EmptyStateIndicator, { listType: 'channel' })) : (React.createElement(Paginator, { hasNextPage: hasNextPage, isLoading: channelsQueryState.queryInProgress === 'load-more', loadNextPage: loadNextPage }, renderChannels
|
|
192
192
|
? renderChannels(loadedChannels, renderChannel)
|
|
193
193
|
: loadedChannels.map(function (channel) { return renderChannel(channel); }))))))));
|
|
194
194
|
};
|
|
@@ -12,6 +12,6 @@ export var ChannelListMessenger = function (props) {
|
|
|
12
12
|
if (loading) {
|
|
13
13
|
return React.createElement(LoadingIndicator, null);
|
|
14
14
|
}
|
|
15
|
-
return (React.createElement("div", { className: 'str-chat__channel-list-messenger' },
|
|
16
|
-
React.createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main', role: 'listbox' }, children)));
|
|
15
|
+
return (React.createElement("div", { className: 'str-chat__channel-list-messenger str-chat__channel-list-messenger-react' },
|
|
16
|
+
React.createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main str-chat__channel-list-messenger-react__main', role: 'listbox' }, children)));
|
|
17
17
|
};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { CSSProperties, MutableRefObject } from 'react';
|
|
1
2
|
import type { Attachment } from 'stream-chat';
|
|
2
3
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
3
4
|
export declare type GalleryProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
4
|
-
images: {
|
|
5
|
+
images: (({
|
|
5
6
|
image_url?: string | undefined;
|
|
6
7
|
thumb_url?: string | undefined;
|
|
7
|
-
}
|
|
8
|
+
} | Attachment<StreamChatGenerics>) & {
|
|
9
|
+
previewUrl?: string;
|
|
10
|
+
style?: CSSProperties;
|
|
11
|
+
})[];
|
|
12
|
+
innerRefs?: MutableRefObject<(HTMLElement | null)[]>;
|
|
8
13
|
};
|
|
9
14
|
/**
|
|
10
15
|
* Displays images in a simple responsive grid with a light box to view the images.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/Gallery.tsx"],"names":[],"mappings":"
|
|
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;AASzE,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;AAkFF;;GAEG;AACH,eAAO,MAAM,OAAO,4IAA4D,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
1
12
|
import React, { useState } from 'react';
|
|
2
13
|
import clsx from 'clsx';
|
|
3
14
|
import { Modal } from '../Modal';
|
|
@@ -5,7 +16,7 @@ import { ModalGallery as DefaultModalGallery } from './ModalGallery';
|
|
|
5
16
|
import { useComponentContext } from '../../context/ComponentContext';
|
|
6
17
|
import { useTranslationContext } from '../../context/TranslationContext';
|
|
7
18
|
var UnMemoizedGallery = function (props) {
|
|
8
|
-
var images = props.images;
|
|
19
|
+
var images = props.images, innerRefs = props.innerRefs;
|
|
9
20
|
var _a = useState(0), index = _a[0], setIndex = _a[1];
|
|
10
21
|
var _b = useState(false), modalOpen = _b[0], setModalOpen = _b[1];
|
|
11
22
|
var _c = useComponentContext('Gallery').ModalGallery, ModalGallery = _c === void 0 ? DefaultModalGallery : _c;
|
|
@@ -22,13 +33,13 @@ var UnMemoizedGallery = function (props) {
|
|
|
22
33
|
}
|
|
23
34
|
};
|
|
24
35
|
var renderImages = images.slice(0, countImagesDisplayedInPreview).map(function (image, i) {
|
|
25
|
-
return i === lastImageIndexInPreview && images.length > countImagesDisplayedInPreview ? (React.createElement("button", { className: 'str-chat__gallery-placeholder', key: "gallery-image-".concat(i), onClick: function () { return toggleModal(i); }, style: {
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
return i === lastImageIndexInPreview && images.length > countImagesDisplayedInPreview ? (React.createElement("button", __assign({ className: 'str-chat__gallery-placeholder', "data-testid": 'gallery-image-last', key: "gallery-image-".concat(i), onClick: function () { return toggleModal(i); }, style: __assign({ backgroundImage: "url(".concat(images[lastImageIndexInPreview].previewUrl ||
|
|
37
|
+
images[lastImageIndexInPreview].image_url ||
|
|
38
|
+
images[lastImageIndexInPreview].thumb_url, ")") }, image.style) }, ((innerRefs === null || innerRefs === void 0 ? void 0 : innerRefs.current) && { ref: function (r) { return (innerRefs.current[i] = r); } })),
|
|
28
39
|
React.createElement("p", null, t('{{ imageCount }} more', {
|
|
29
40
|
imageCount: images.length - countImagesDisplayedInPreview,
|
|
30
41
|
})))) : (React.createElement("button", { className: 'str-chat__gallery-image', "data-testid": 'gallery-image', key: "gallery-image-".concat(i), onClick: function () { return toggleModal(i); } },
|
|
31
|
-
React.createElement("img", { alt: 'User uploaded content', src: image.image_url || image.thumb_url })));
|
|
42
|
+
React.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); } })))));
|
|
32
43
|
});
|
|
33
44
|
var className = clsx('str-chat__gallery', {
|
|
34
45
|
'str-chat__gallery--square': images.length > lastImageIndexInPreview,
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { CSSProperties, MutableRefObject } from 'react';
|
|
1
2
|
import type { Attachment } from 'stream-chat';
|
|
2
3
|
import type { DefaultStreamChatGenerics, Dimensions } from '../../types/types';
|
|
3
4
|
export declare type ImageProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
4
5
|
dimensions?: Dimensions;
|
|
6
|
+
innerRef?: MutableRefObject<HTMLImageElement | null>;
|
|
7
|
+
previewUrl?: string;
|
|
8
|
+
style?: CSSProperties;
|
|
5
9
|
} & ({
|
|
6
10
|
/** The text fallback for the image */
|
|
7
11
|
fallback?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/Image.tsx"],"names":[],"mappings":"
|
|
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;AAOzE,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,0IAgC1B,CAAC"}
|
|
@@ -18,13 +18,13 @@ import { useComponentContext } from '../../context';
|
|
|
18
18
|
* A simple component that displays an image.
|
|
19
19
|
*/
|
|
20
20
|
export var ImageComponent = function (props) {
|
|
21
|
-
var _a = props.dimensions, dimensions = _a === void 0 ? {} : _a, fallback = props.fallback, image_url = props.image_url, thumb_url = props.thumb_url;
|
|
21
|
+
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;
|
|
22
22
|
var _b = useState(false), modalIsOpen = _b[0], setModalIsOpen = _b[1];
|
|
23
23
|
var _c = useComponentContext('ImageComponent').ModalGallery, ModalGallery = _c === void 0 ? DefaultModalGallery : _c;
|
|
24
|
-
var imageSrc = sanitizeUrl(image_url || thumb_url);
|
|
24
|
+
var imageSrc = sanitizeUrl(previewUrl || image_url || thumb_url);
|
|
25
25
|
var toggleModal = function () { return setModalIsOpen(function (modalIsOpen) { return !modalIsOpen; }); };
|
|
26
26
|
return (React.createElement(React.Fragment, null,
|
|
27
|
-
React.createElement("img", __assign({ alt: fallback, className: 'str-chat__message-attachment--img', "data-testid": 'image-test', onClick: toggleModal, src: imageSrc, tabIndex: 0 }, dimensions)),
|
|
27
|
+
React.createElement("img", __assign({ alt: fallback, className: 'str-chat__message-attachment--img', "data-testid": 'image-test', onClick: toggleModal, src: imageSrc, style: style, tabIndex: 0 }, dimensions, (innerRef && { ref: innerRef }))),
|
|
28
28
|
React.createElement(Modal, { onClose: toggleModal, open: modalIsOpen },
|
|
29
29
|
React.createElement(ModalGallery, { images: [props], index: 0 }))));
|
|
30
30
|
};
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
2
|
+
import type { PaginatorProps } from '../../types/types';
|
|
3
|
+
export declare type InfiniteScrollProps = PaginatorProps & {
|
|
3
4
|
className?: string;
|
|
4
5
|
element?: React.ElementType;
|
|
6
|
+
/**
|
|
7
|
+
* @desc Flag signalling whether more pages with older items can be loaded
|
|
8
|
+
* @deprecated Use hasPreviousPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
9
|
+
*/
|
|
5
10
|
hasMore?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* @desc Flag signalling whether more pages with newer items can be loaded
|
|
13
|
+
* @deprecated Use hasNextPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
14
|
+
*/
|
|
6
15
|
hasMoreNewer?: boolean;
|
|
7
|
-
/** Element to be rendered at the top of the thread message list. By default Message and ThreadStart components */
|
|
16
|
+
/** Element to be rendered at the top of the thread message list. By default, Message and ThreadStart components */
|
|
8
17
|
head?: React.ReactNode;
|
|
9
18
|
initialLoad?: boolean;
|
|
10
19
|
isLoading?: boolean;
|
|
11
20
|
listenToScroll?: (offset: number, reverseOffset: number, threshold: number) => void;
|
|
12
21
|
loader?: React.ReactNode;
|
|
13
|
-
|
|
22
|
+
/**
|
|
23
|
+
* @desc Function that loads previous page with older items
|
|
24
|
+
* @deprecated Use loadPreviousPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
25
|
+
*/
|
|
14
26
|
loadMore?: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* @desc Function that loads next page with newer items
|
|
29
|
+
* @deprecated Use loadNextPage prop instead. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
|
|
30
|
+
*/
|
|
15
31
|
loadMoreNewer?: () => void;
|
|
16
32
|
pageStart?: number;
|
|
17
|
-
threshold?: number;
|
|
18
33
|
useCapture?: boolean;
|
|
19
34
|
};
|
|
20
35
|
export declare const InfiniteScroll: (props: PropsWithChildren<InfiniteScrollProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfiniteScroll.d.ts","sourceRoot":"","sources":["../../../src/components/InfiniteScrollPaginator/InfiniteScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAkC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InfiniteScroll.d.ts","sourceRoot":"","sources":["../../../src/components/InfiniteScrollPaginator/InfiniteScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAkC,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD,oBAAY,mBAAmB,GAAG,cAAc,GAAG;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mHAAmH;IACnH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,kBAAkB,mBAAmB,CAAC,uEAuH3E,CAAC"}
|