stream-chat-react 11.16.1 → 11.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Window-9d319da4.js → Window-5802024e.js} +289 -156
- package/dist/assets/icons/stream-chat-icons.eot +0 -0
- package/dist/assets/icons/stream-chat-icons.svg +46 -0
- package/dist/assets/icons/stream-chat-icons.ttf +0 -0
- package/dist/assets/icons/stream-chat-icons.woff +0 -0
- package/dist/assets/icons/stream-chat-icons.woff2 +0 -0
- package/dist/browser.full-bundle.js +299 -161
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +1 -1
- package/dist/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
- package/dist/components/Attachment/UnsupportedAttachment.js +7 -7
- package/dist/components/Attachment/utils.d.ts +9 -4
- package/dist/components/Attachment/utils.d.ts.map +1 -1
- package/dist/components/Attachment/utils.js +17 -2
- package/dist/components/Emojis/index.cjs.js +1 -1
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +1 -1
- package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +9 -8
- package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -1
- package/dist/components/MediaRecorder/classes/MediaRecorderController.js +4 -4
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +3 -3
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.js +2 -1
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts +16 -0
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +37 -0
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts +13 -0
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +19 -0
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts +7 -0
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js +23 -0
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +7 -0
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +22 -0
- package/dist/components/MessageInput/AttachmentPreviewList/UploadPreviewItem.d.ts +12 -0
- package/dist/components/MessageInput/AttachmentPreviewList/UploadPreviewItem.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/UploadPreviewItem.js +61 -0
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts +7 -0
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js +27 -0
- package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts +7 -0
- package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/index.js +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts +8 -0
- package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts.map +1 -0
- package/dist/components/MessageInput/AttachmentPreviewList/types.js +1 -0
- package/dist/components/MessageInput/hooks/useAttachments.d.ts +4 -2
- package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.js +73 -33
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +5 -3
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +18 -16
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputState.js +19 -15
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +3 -3
- package/dist/components/MessageInput/index.d.ts +1 -0
- package/dist/components/MessageInput/index.d.ts.map +1 -1
- package/dist/components/MessageInput/types.d.ts +33 -10
- package/dist/components/MessageInput/types.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.d.ts +6 -1
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +2 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +6 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +3 -2
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +14 -1
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +3 -2
- package/dist/components/MessageList/utils.d.ts +18 -3
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/MessageList/utils.js +15 -5
- 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/context/MessageInputContext.d.ts +4 -3
- package/dist/context/MessageInputContext.d.ts.map +1 -1
- package/dist/css/v2/index.css +2 -2
- package/dist/css/v2/index.layout.css +2 -2
- 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 +13 -5
- package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +38 -1
- package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +8 -0
- package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +9 -1
- package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-theme.scss +13 -0
- package/dist/scss/v2/Avatar/Avatar-layout.scss +46 -0
- package/dist/scss/v2/Channel/Channel-layout.scss +1 -0
- package/dist/scss/v2/Channel/Channel-theme.scss +1 -0
- package/dist/scss/v2/ChannelList/ChannelList-layout.scss +2 -2
- package/dist/scss/v2/ChannelList/ChannelList-theme.scss +4 -2
- package/dist/scss/v2/ChannelPreview/ChannelPreview-layout.scss +2 -0
- package/dist/scss/v2/ChannelPreview/ChannelPreview-theme.scss +1 -0
- package/dist/scss/v2/Icon/Icon-layout.scss +87 -0
- package/dist/scss/v2/Icon/Icon-theme.scss +13 -0
- package/dist/scss/v2/ImageCarousel/ImageCarousel-layout.scss +1 -0
- package/dist/scss/v2/ImageCarousel/ImageCarousel-theme.scss +1 -0
- package/dist/scss/v2/LoadingIndicator/LoadingIndicator-layout.scss +10 -1
- package/dist/scss/v2/LoadingIndicator/LoadingIndicator-theme.scss +6 -4
- package/dist/scss/v2/Message/Message-layout.scss +6 -0
- package/dist/scss/v2/Message/Message-theme.scss +6 -0
- package/dist/scss/v2/MessageInput/MessageInput-layout.scss +4 -1
- package/dist/scss/v2/MessageInput/MessageInput-theme.scss +3 -0
- package/dist/scss/v2/MessageList/MessageList-theme.scss +2 -0
- package/dist/scss/v2/Modal/Modal-layout.scss +1 -0
- package/dist/scss/v2/Modal/Modal-theme.scss +6 -0
- package/dist/scss/v2/_base.scss +3 -2
- package/dist/scss/v2/_icons.scss +22 -2
- package/dist/scss/v2/index.layout.scss +1 -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 +2 -2
- package/dist/components/MessageInput/AttachmentPreviewList.d.ts +0 -9
- package/dist/components/MessageInput/AttachmentPreviewList.d.ts.map +0 -1
- package/dist/components/MessageInput/AttachmentPreviewList.js +0 -112
package/dist/i18n/tr.json
CHANGED
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"Unmute": "Sesini aç",
|
|
85
85
|
"Unpin": "Sabitlemeyi kaldır",
|
|
86
86
|
"Unread messages": "Okunmamış mesajlar",
|
|
87
|
+
"Unsupported attachment": "Desteklenmeyen ek",
|
|
87
88
|
"Upload type: \"{{ type }}\" is not allowed": "Yükleme türü: \"{{ type }}\" izin verilmez",
|
|
88
89
|
"User uploaded content": "Kullanıcı tarafından yüklenen içerik",
|
|
89
90
|
"Voice message": "Sesli mesaj",
|
package/dist/index.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Window = require('./Window-
|
|
5
|
+
var Window = require('./Window-5802024e.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var streamChat = require('stream-chat');
|
|
8
8
|
var throttle = require('lodash.throttle');
|
|
@@ -117,7 +117,7 @@ var GiphyPreviewMessage = function (props) {
|
|
|
117
117
|
};
|
|
118
118
|
|
|
119
119
|
var useEnrichedMessages = function (args) {
|
|
120
|
-
var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser;
|
|
120
|
+
var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser, reviewProcessedMessage = args.reviewProcessedMessage;
|
|
121
121
|
var client = Window.useChatContext('useEnrichedMessages').client;
|
|
122
122
|
var HeaderComponent = Window.useComponentContext('useEnrichedMessages').HeaderComponent;
|
|
123
123
|
var lastRead = React.useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
|
|
@@ -130,6 +130,7 @@ var useEnrichedMessages = function (args) {
|
|
|
130
130
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
131
131
|
lastRead: lastRead,
|
|
132
132
|
messages: messages,
|
|
133
|
+
reviewProcessedMessage: reviewProcessedMessage,
|
|
133
134
|
userId: client.userID || '',
|
|
134
135
|
});
|
|
135
136
|
if (HeaderComponent) {
|
|
@@ -652,7 +653,7 @@ var MessageListWithContext = function (props) {
|
|
|
652
653
|
var _a;
|
|
653
654
|
var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, _e = props.internalInfiniteScrollProps, _f = _e === void 0 ? {} : _e, _g = _f.threshold, loadMoreScrollThreshold = _g === void 0 ? Window.DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = Window.__rest(_f, ["threshold"]), _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(Window.MESSAGE_ACTIONS) : _h, _j = props.messages, messages = _j === void 0 ? [] : _j, notifications = props.notifications, _k = props.noGroupByUser, noGroupByUser = _k === void 0 ? false : _k, _l = props.pinPermissions, pinPermissions = _l === void 0 ? Window.defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
654
655
|
_m = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
655
|
-
returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, _r = props.messageLimit, messageLimit = _r === void 0 ? Window.DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
|
|
656
|
+
returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, reviewProcessedMessage = props.reviewProcessedMessage, _r = props.messageLimit, messageLimit = _r === void 0 ? Window.DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
|
|
656
657
|
var _u = React__default["default"].useState(null), listElement = _u[0], setListElement = _u[1];
|
|
657
658
|
var _v = React__default["default"].useState(null), ulElement = _v[0], setUlElement = _v[1];
|
|
658
659
|
var customClasses = Window.useChatContext('MessageList').customClasses;
|
|
@@ -685,6 +686,7 @@ var MessageListWithContext = function (props) {
|
|
|
685
686
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
686
687
|
messages: messages,
|
|
687
688
|
noGroupByUser: noGroupByUser,
|
|
689
|
+
reviewProcessedMessage: reviewProcessedMessage,
|
|
688
690
|
}), messageGroupStyles = _4.messageGroupStyles, enrichedMessages = _4.messages;
|
|
689
691
|
var elements = useMessageListElements({
|
|
690
692
|
channelUnreadUiState: channelUnreadUiState,
|
|
@@ -1149,7 +1151,7 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
1149
1151
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
1150
1152
|
_h = props.overscan,
|
|
1151
1153
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
1152
|
-
overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
|
|
1154
|
+
overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, reviewProcessedMessage = props.reviewProcessedMessage, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
|
|
1153
1155
|
var virtuosoComponentsFromProps = additionalVirtuosoProps.components, overridingVirtuosoProps = Window.__rest(additionalVirtuosoProps, ["components"]);
|
|
1154
1156
|
// Stops errors generated from react-virtuoso to bubble up
|
|
1155
1157
|
// to Sentry or other tracking tools.
|
|
@@ -1181,6 +1183,7 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
1181
1183
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
1182
1184
|
lastRead: lastRead,
|
|
1183
1185
|
messages: messages,
|
|
1186
|
+
reviewProcessedMessage: reviewProcessedMessage,
|
|
1184
1187
|
setGiphyPreviewMessage: setGiphyPreviewMessage,
|
|
1185
1188
|
userId: client.userID || '',
|
|
1186
1189
|
});
|
|
@@ -1344,7 +1347,7 @@ function VirtualizedMessageList(props) {
|
|
|
1344
1347
|
return (React__default["default"].createElement(VirtualizedMessageListWithContext, Window.__assign({ channel: channel, channelUnreadUiState: channelUnreadUiState, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, read: read, suppressAutoscroll: suppressAutoscroll }, props)));
|
|
1345
1348
|
}
|
|
1346
1349
|
|
|
1347
|
-
var version = '11.
|
|
1350
|
+
var version = '11.18.0';
|
|
1348
1351
|
|
|
1349
1352
|
var useChat = function (_a) {
|
|
1350
1353
|
var _b, _c;
|
|
@@ -1901,6 +1904,11 @@ exports.isFileAttachment = Window.isFileAttachment;
|
|
|
1901
1904
|
exports.isGalleryAttachmentType = Window.isGalleryAttachmentType;
|
|
1902
1905
|
exports.isLanguageSupported = Window.isLanguageSupported;
|
|
1903
1906
|
exports.isLocalAttachment = Window.isLocalAttachment;
|
|
1907
|
+
exports.isLocalAudioAttachment = Window.isLocalAudioAttachment;
|
|
1908
|
+
exports.isLocalFileAttachment = Window.isLocalFileAttachment;
|
|
1909
|
+
exports.isLocalImageAttachment = Window.isLocalImageAttachment;
|
|
1910
|
+
exports.isLocalMediaAttachment = Window.isLocalMediaAttachment;
|
|
1911
|
+
exports.isLocalVoiceRecordingAttachment = Window.isLocalVoiceRecordingAttachment;
|
|
1904
1912
|
exports.isMediaAttachment = Window.isMediaAttachment;
|
|
1905
1913
|
exports.isMessageBounced = Window.isMessageBounced;
|
|
1906
1914
|
exports.isMessageEdited = Window.isMessageEdited;
|
|
@@ -253,6 +253,32 @@
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
.str-chat__message-attachment-unsupported {
|
|
257
|
+
@include utils.flex-row-center;
|
|
258
|
+
padding: var(--str-chat__spacing-2);
|
|
259
|
+
column-gap: var(--str-chat__spacing-4);
|
|
260
|
+
margin: var(--str-chat__attachment-margin);
|
|
261
|
+
|
|
262
|
+
.str-chat__file-icon {
|
|
263
|
+
width: calc(var(--str-chat__spacing-px)* 30);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.str-chat__message-attachment-unsupported__metadata {
|
|
267
|
+
min-width: 0;
|
|
268
|
+
flex: 1;
|
|
269
|
+
display: flex;
|
|
270
|
+
flex-direction: column;
|
|
271
|
+
align-items: flex-start;
|
|
272
|
+
justify-content: center;
|
|
273
|
+
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.str-chat__message-attachment-unsupported__title {
|
|
277
|
+
@include utils.ellipsis-text;
|
|
278
|
+
max-width: 100%;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
256
282
|
.str-chat__message-attachment-file--item,
|
|
257
283
|
.str-chat__message-attachment-audio-widget {
|
|
258
284
|
@include utils.flex-row-center;
|
|
@@ -504,9 +530,18 @@
|
|
|
504
530
|
cursor: pointer;
|
|
505
531
|
text-decoration: none;
|
|
506
532
|
}
|
|
533
|
+
|
|
534
|
+
.str-chat__message-attachment-download-icon {
|
|
535
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
.str-chat__attachment-type-icon {
|
|
539
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 37);
|
|
540
|
+
}
|
|
507
541
|
}
|
|
508
542
|
|
|
509
543
|
.str-chat__message-attachment-audio-widget--play-button {
|
|
544
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
|
|
510
545
|
@include utils.flex-row-center();
|
|
511
546
|
height: calc(var(--str-chat__spacing-px) * 36);
|
|
512
547
|
width: calc(var(--str-chat__spacing-px) * 36);
|
|
@@ -572,7 +607,9 @@
|
|
|
572
607
|
.str-chat__wave-progress-bar__amplitude-bar {
|
|
573
608
|
width: 2px;
|
|
574
609
|
min-width: 2px;
|
|
575
|
-
height: calc(
|
|
610
|
+
height: calc(
|
|
611
|
+
var(--str-chat__wave-progress-bar__amplitude-bar-height) + $min_amplitude_height
|
|
612
|
+
); // variable set dynamically on element
|
|
576
613
|
}
|
|
577
614
|
|
|
578
615
|
.str-chat__wave-progress-bar__progress-indicator {
|
|
@@ -320,10 +320,18 @@
|
|
|
320
320
|
background-size: 24px 24px;
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
+
.str-chat__message-attachment-unsupported,
|
|
323
324
|
.str-chat__message-attachment-file--item {
|
|
324
325
|
@include utils.component-layer-overrides('file-attachment');
|
|
325
326
|
}
|
|
326
327
|
|
|
328
|
+
.str-chat__message-attachment-unsupported {
|
|
329
|
+
.str-chat__message-attachment-unsupported__title {
|
|
330
|
+
font: var(--str-chat__subtitle-medium-text);
|
|
331
|
+
word-break: keep-all;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
327
335
|
.str-chat__message-attachment-file--item,
|
|
328
336
|
.str-chat__message-attachment-audio-widget {
|
|
329
337
|
.str-chat__message-attachment-file--item-name,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@use '../utils';
|
|
2
2
|
|
|
3
3
|
.str-chat__attachment-preview-list {
|
|
4
|
+
--str-chat__loading-indicator-size: calc(var(--str-chat__spacing-px) * 18);
|
|
4
5
|
$preview-height: calc(var(--str-chat__spacing-px) * 72);
|
|
5
6
|
|
|
6
7
|
@include utils.flex-row-center;
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
|
|
50
|
+
.str-chat__attachment-preview-unsupported,
|
|
49
51
|
.str-chat__attachment-preview-voice-recording,
|
|
50
52
|
.str-chat__attachment-preview-file {
|
|
51
53
|
display: flex;
|
|
@@ -59,7 +61,7 @@
|
|
|
59
61
|
column-gap: var(--str-chat__spacing-2);
|
|
60
62
|
|
|
61
63
|
.str-chat__attachment-preview-metadata,
|
|
62
|
-
.str-chat__attachment-preview-file-end{
|
|
64
|
+
.str-chat__attachment-preview-file-end {
|
|
63
65
|
@include utils.ellipsis-text-parent;
|
|
64
66
|
flex: 1;
|
|
65
67
|
display: flex;
|
|
@@ -67,6 +69,7 @@
|
|
|
67
69
|
align-items: flex-start;
|
|
68
70
|
justify-content: center;
|
|
69
71
|
|
|
72
|
+
.str-chat__attachment-preview-title,
|
|
70
73
|
.str-chat__attachment-preview-file-name {
|
|
71
74
|
@include utils.ellipsis-text;
|
|
72
75
|
max-width: 100%;
|
|
@@ -74,6 +77,8 @@
|
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
.str-chat__attachment-preview-file-icon {
|
|
80
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 37);
|
|
81
|
+
--str-chat-icon-width: auto;
|
|
77
82
|
@include utils.flex-row-center;
|
|
78
83
|
|
|
79
84
|
svg {
|
|
@@ -86,6 +91,7 @@
|
|
|
86
91
|
.str-chat__attachment-preview-file {
|
|
87
92
|
.str-chat__attachment-preview-file-end {
|
|
88
93
|
.str-chat__attachment-preview-file-download {
|
|
94
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
|
|
89
95
|
line-height: calc(var(--str-chat__spacing-px) * 13);
|
|
90
96
|
|
|
91
97
|
svg {
|
|
@@ -103,6 +109,7 @@
|
|
|
103
109
|
}
|
|
104
110
|
|
|
105
111
|
.str-chat__attachment-preview-delete {
|
|
112
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
|
|
106
113
|
position: absolute;
|
|
107
114
|
top: calc(var(--str-chat__spacing-px) * 2);
|
|
108
115
|
inset-inline-end: calc(var(--str-chat__spacing-px) * 2);
|
|
@@ -116,6 +123,7 @@
|
|
|
116
123
|
}
|
|
117
124
|
|
|
118
125
|
.str-chat__attachment-preview-error {
|
|
126
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
|
|
119
127
|
@include overlay;
|
|
120
128
|
@include utils.unset-button(unset);
|
|
121
129
|
inset-inline-start: 0;
|
|
@@ -107,15 +107,20 @@
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
.str-chat__attachment-preview-unsupported,
|
|
110
111
|
.str-chat__attachment-preview-voice-recording,
|
|
111
112
|
.str-chat__attachment-preview-file {
|
|
112
113
|
@include utils.component-layer-overrides('attachment-preview-file');
|
|
113
114
|
|
|
115
|
+
.str-chat__attachment-preview-title,
|
|
114
116
|
.str-chat__attachment-preview-file-name {
|
|
115
117
|
font: var(--str-chat__subtitle-medium-text);
|
|
116
118
|
}
|
|
117
119
|
|
|
118
120
|
.str-chat__attachment-preview-file-download {
|
|
121
|
+
--str-chat-icon-color: var(--str-chat__attachment-preview-download-icon-color);
|
|
122
|
+
text-decoration: none;
|
|
123
|
+
|
|
119
124
|
svg path {
|
|
120
125
|
fill: var(--str-chat__attachment-preview-download-icon-color);
|
|
121
126
|
}
|
|
@@ -138,6 +143,13 @@
|
|
|
138
143
|
}
|
|
139
144
|
|
|
140
145
|
.str-chat__attachment-preview-delete {
|
|
146
|
+
--str-chat-icon-color: var(--str-chat__attachment-preview-close-icon-color);
|
|
147
|
+
|
|
148
|
+
.str-chat__icon {
|
|
149
|
+
background-color: var(--str-chat__attachment-preview-close-icon-background);
|
|
150
|
+
border-radius: 999px;
|
|
151
|
+
}
|
|
152
|
+
|
|
141
153
|
svg {
|
|
142
154
|
background-color: var(--str-chat__attachment-preview-close-icon-background);
|
|
143
155
|
border-radius: 999px;
|
|
@@ -149,6 +161,7 @@
|
|
|
149
161
|
}
|
|
150
162
|
|
|
151
163
|
.str-chat__attachment-preview-error {
|
|
164
|
+
--str-chat-icon-color: var(--str-chat__attachment-preview-retry-icon-color);
|
|
152
165
|
background-color: var(--str-chat__attachment-preview-overlay-color);
|
|
153
166
|
|
|
154
167
|
svg path {
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
.str-chat {
|
|
2
|
+
/* The size of the avatar, only available in Angular v5+ */
|
|
3
|
+
--str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 32);
|
|
4
|
+
|
|
5
|
+
.stream-chat__avatar--autocomplete-item {
|
|
6
|
+
--str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 30);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.stream-chat__avatar--channel-header {
|
|
10
|
+
--str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 40);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.stream-chat__avatar--channel-preview {
|
|
14
|
+
--str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 49);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.stream-chat__avatar--quoted-message-sender {
|
|
18
|
+
--str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 20);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.stream-chat__avatar--reaction {
|
|
22
|
+
--str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 30);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
1
26
|
.str-chat__avatar {
|
|
2
27
|
position: relative;
|
|
3
28
|
|
|
@@ -21,3 +46,24 @@
|
|
|
21
46
|
width: calc(var(--str-chat__spacing-px) * 49);
|
|
22
47
|
height: calc(var(--str-chat__spacing-px) * 49);
|
|
23
48
|
}
|
|
49
|
+
|
|
50
|
+
.str-chat-angular__avatar {
|
|
51
|
+
height: var(--str-chat__avatar-size);
|
|
52
|
+
line-height: var(--str-chat__avatar-size);
|
|
53
|
+
width: var(--str-chat__avatar-size);
|
|
54
|
+
|
|
55
|
+
&.stream-chat__avatar--one-letter {
|
|
56
|
+
font-size: calc(var(--str-chat__avatar-size) * 0.5);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&.stream-chat__avatar--multiple-letters {
|
|
60
|
+
font-size: calc(var(--str-chat__avatar-size) * 0.3);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.str-chat__avatar-image {
|
|
64
|
+
height: 100%;
|
|
65
|
+
width: 100%;
|
|
66
|
+
object-fit: cover;;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
height: 100%;
|
|
15
15
|
|
|
16
16
|
.str-chat__channel-list-empty {
|
|
17
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 136);
|
|
17
18
|
@include utils.empty-layout;
|
|
18
19
|
}
|
|
19
20
|
|
|
@@ -40,7 +41,6 @@
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
|
|
44
44
|
.str-chat__channel-list-react {
|
|
45
45
|
overflow: hidden;
|
|
46
46
|
|
|
@@ -52,4 +52,4 @@
|
|
|
52
52
|
overflow-y: auto;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
}
|
|
55
|
+
}
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
/* The text/icon color of the load more button in disabled state */
|
|
69
69
|
--str-chat__channel-list-load-more-disabled-color: var(--str-chat__cta-button-disabled-color);
|
|
70
70
|
|
|
71
|
-
/* The icon color for the empty list state */
|
|
72
|
-
--str-chat__channel-list-empty-indicator-color: var(--str-
|
|
71
|
+
/* The text/icon color for the empty list state */
|
|
72
|
+
--str-chat__channel-list-empty-indicator-color: var(--str-chat__text-low-emphasis-color);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
.str-chat__channel-list {
|
|
@@ -82,6 +82,8 @@
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
.str-chat__channel-list-empty {
|
|
85
|
+
--str-chat-icon-color: var(--str-chat__channel-list-empty-indicator-color);
|
|
85
86
|
@include utils.empty-theme('channel-list');
|
|
87
|
+
color: var(--str-chat__channel-list-empty-indicator-color);
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* Only available in Angular v5+ */
|
|
2
|
+
.str-chat {
|
|
3
|
+
/* The height of the icon, only available in Angular v5+ */
|
|
4
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
|
|
5
|
+
/* The width of the icon, only available in Angular v5+ */
|
|
6
|
+
--str-chat-icon-width: auto;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.str-chat__icon {
|
|
10
|
+
display: flex;
|
|
11
|
+
font-family: 'stream-chat-icons';
|
|
12
|
+
font-style: normal;
|
|
13
|
+
font-weight: normal;
|
|
14
|
+
font-size: var(--str-chat-icon-height);
|
|
15
|
+
line-height: var(--str-chat-icon-height);
|
|
16
|
+
height: var(--str-chat-icon-height);
|
|
17
|
+
width: var(--str-chat-icon-width);
|
|
18
|
+
|
|
19
|
+
&::before {
|
|
20
|
+
line-height: var(--str-chat-icon-height);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// File type icons
|
|
25
|
+
.str-chat__icon--unspecified-filetype {
|
|
26
|
+
content: url('data:image/svg+xml;base64,PHN2ZwogIGRhdGEtdGVzdGlkPSJ1bnNwZWNpZmllZC1maWxldHlwZSIKICB3aWR0aD0iMzQiCiAgaGVpZ2h0PSI0MCIKICB2aWV3Qm94PSIwIDAgMzQgNDAiCiAgZmlsbD0ibm9uZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCj4KICA8cGF0aAogICAgZD0iTTAgM0MwIDEuMzQzMTUgMS4zNDMxNSAwIDMgMEgyM0wzNCAxMVYzN0MzNCAzOC42NTY5IDMyLjY1NjkgNDAgMzEgNDBIM0MxLjM0MzE1IDQwIDAgMzguNjU2OSAwIDM3VjNaIgogICAgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIKICAvPgogIDxwYXRoIGQ9Ik0zNCAxMUwyNiAxMUMyNC4zNDMxIDExIDIzIDkuNjU2ODUgMjMgOFYwTDM0IDExWiIgZmlsbD0iI0RCREJEQiIgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTggMTNIMjNWMTVIOFYxM1oiCiAgICBmaWxsPSIjQ0ZDRkNGIgogIC8+CiAgPHBhdGgKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgIGQ9Ik04IDE3SDE4VjE5SDhWMTdaIgogICAgZmlsbD0iI0NGQ0ZDRiIKICAvPgogIDxwYXRoCiAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOCAyMUgyM1YyM0g4VjIxWiIKICAgIGZpbGw9IiNDRkNGQ0YiCiAgLz4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICBpZD0icGFpbnQwX2xpbmVhciIKICAgICAgeDE9IjAiCiAgICAgIHkxPSIwIgogICAgICB4Mj0iMCIKICAgICAgeTI9IjQwIgogICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgID4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0RCREJEQiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.str-chat__icon--audio-file {
|
|
30
|
+
content: url('data:image/svg+xml;base64,PHN2ZwogIGNsYXNzPSJyZnUtZmlsZS1hdWRpbyIKICBmaWxsPSJub25lIgogIHZpZXdCb3g9IjAgMCAzNCA0MCIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgaGVpZ2h0PSIyMCIKICB3aWR0aD0iMjAiCj4KICA8cGF0aAogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTE3LjcxNjggMzMuMTcyQzE4LjIzNDggMzMuMTcyIDE4LjQyMzggMzMuNjU1IDE4LjQyMzggMzQuMThDMTguNDIzOCAzNC42NDIgMTguMjk3OCAzNS4xOTUgMTcuNzE2OCAzNS4xOTVDMTcuMTcwOCAzNS4xOTUgMTYuOTg4OCAzNC42NDIgMTYuOTg4OCAzNC4xNDVDMTYuOTg4OCAzMy42ODMgMTcuMTcwOCAzMy4xNzIgMTcuNzE2OCAzMy4xNzJaTTE5LjU3MTggMzEuMDAySDE4LjM4MThWMzIuNzU4OUgxOC4zNjc4QzE4LjEyMjggMzIuNDMgMTcuNzc5OCAzMi4yNjIgMTcuMzMxOCAzMi4yNjJDMTYuMzAyOCAzMi4yNjIgMTUuNzk4OCAzMy4xNTggMTUuNzk4OCAzNC4xMDNDMTUuNzk4OCAzNS4xMjUgMTYuMjgxOCAzNi4xMDQ5IDE3LjQyMjggMzYuMTA0OUMxNy44NDI4IDM2LjEwNDkgMTguMTkyOCAzNS45MjMgMTguNDIzOCAzNS41OEgxOC40Mzc4VjM2SDE5LjU3MThWMzEuMDAyWk0xMi43MDk1IDM0LjE4NzJDMTIuNzA5NSAzMy43MjUyIDEyLjg3NzUgMzMuMTcyMiAxMy40MzA1IDMzLjE3MjJDMTMuOTgzNSAzMy4xNzIyIDE0LjE1ODUgMzMuNzI1MiAxNC4xNTg1IDM0LjE4NzJDMTQuMTU4NSAzNC42NDkyIDEzLjk4MzUgMzUuMTk1MiAxMy40MzA1IDM1LjE5NTJDMTIuODc3NSAzNS4xOTUyIDEyLjcwOTUgMzQuNjQ5MiAxMi43MDk1IDM0LjE4NzJaTTExLjUxOTUgMzQuMTg3MkMxMS41MTk1IDM1LjI3OTIgMTIuMzAzNSAzNi4xMDUyIDEzLjQzMDUgMzYuMTA1MkMxNC41NTc1IDM2LjEwNTIgMTUuMzQ4NSAzNS4yNzkyIDE1LjM0ODUgMzQuMTg3MkMxNS4zNDg1IDMzLjA5NTIgMTQuNTU3NSAzMi4yNjIyIDEzLjQzMDUgMzIuMjYyMkMxMi4zMDM1IDMyLjI2MjIgMTEuNTE5NSAzMy4wOTUyIDExLjUxOTUgMzQuMTg3MlpNMjEuODM5IDMyLjM2NzFIMjIuNTc0VjMzLjEzNzFIMjEuODM5VjM0Ljc4OTFDMjEuODM5IDM1LjA3NjEgMjIuMDA3IDM1LjEzOTEgMjIuMjY2IDM1LjEzOTFDMjIuMzE0MiAzNS4xMzkxIDIyLjM2NCAzNS4xMzU3IDIyLjQxNDcgMzUuMTMyM0MyMi40NjcyIDM1LjEyODcgMjIuNTIwNiAzNS4xMjUxIDIyLjU3NCAzNS4xMjUxVjM2LjAwMDFDMjIuNDgxIDM2LjAwMzEgMjIuMzg4IDM2LjAwOTkgMjIuMjk1IDM2LjAxNjhDMjIuMTcxIDM2LjAyNTkgMjIuMDQ3IDM2LjAzNTEgMjEuOTIzIDM2LjAzNTFDMjAuOTA4IDM2LjAzNTEgMjAuNjQ5IDM1Ljc0MTEgMjAuNjQ5IDM0Ljc1NDFWMzMuMTM3MUgyMC4wNDdWMzIuMzY3MUgyMC42NDlWMzEuMjY4MUgyMS44MzlWMzIuMzY3MVoiCiAgICBmaWxsPSJ3aGl0ZSIKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICA+PC9wYXRoPgogIDxwYXRoCiAgICBkPSJNMCAyOEgzNFYzN0MzNCAzOC42NTY5IDMyLjY1NjkgNDAgMzEgNDBIM0MxLjM0MzE1IDQwIDAgMzguNjU2OSAwIDM3VjI4WiIKICAgIGZpbGw9IiMyNzI3QjAiCiAgPjwvcGF0aD4KICA8cGF0aCBkPSJNMCAzQzAgMS4zNDMxNSAxLjM0MzE1IDAgMyAwSDIzTDM0IDExVjI4SDBWM1oiIGZpbGw9IiNGNUY1RjUiPjwvcGF0aD4KICA8cGF0aAogICAgZD0iTTM0IDExTDI2IDExQzI0LjM0MzEgMTEgMjMgOS42NTY4NSAyMyA4VjBMMzQgMTFaIgogICAgZmlsbD0iI0RCREJEQiIKICA+PC9wYXRoPgogIDxwYXRoCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOC44NzkxMiAyMS45NDFIMTIuMjk4TDE2Ljk1MjEgMjQuNzQ5M0MxNy4wMzA3IDI0LjgxMzggMTcuMTI5MyAyNC44NDkgMTcuMjMxMSAyNC44NDlDMTcuNDczOCAyNC44NDg4IDE3LjY3MDUgMjQuNjUxOSAxNy42NzAzIDI0LjQwOTJWMTIuNDM5OUMxNy42NzA0IDEyLjMzODEgMTcuNjM1MiAxMi4yMzk2IDE3LjU3MDcgMTIuMTYwOUMxNy40MTY4IDExLjk3MzIgMTcuMTM5OCAxMS45NDU3IDE2Ljk1MjEgMTIuMDk5NkwxMi4yOTggMTQuOTA4SDguODc5MTJDOC4zOTM2IDE0LjkwOCA4IDE1LjMwMTYgOCAxNS43ODcxVjIxLjA2MTlDOCAyMS41NDc0IDguMzkzNiAyMS45NDEgOC44NzkxMiAyMS45NDFaTTEyLjkyNTggMTYuNjY2NEwxNS45MTIyIDE1LjIyMjRWMjEuNjI2OEwxMi45MjU4IDIwLjE4MjlIOS43NTgzVjE2LjY2NjRIMTIuOTI1OFpNMTkuODUxMSAxNi4zNTE3QzE5LjQ3NCAxNi40MDkyIDE5LjIzOTcgMTYuNjYzNyAxOS4zMjgzIDE2LjkxOTFMMTkuMzI2MiAxNi45MkMxOS41Mjk1IDE3LjQ5OTUgMTkuNjMwNSAxOC4wOTggMTkuNjI4NCAxOC42OTUzQzE5LjYzMDUgMTkuMjk3NSAxOS41MjM3IDE5LjkwMTQgMTkuMzE5NiAyMC40OTA5QzE5LjIyOSAyMC43NDYyIDE5LjQ2ODIgMjAuOTk5NiAxOS44NDc0IDIxLjA2QzE5LjkwMDggMjEuMDY4MyAxOS45NTQyIDIxLjA3MiAyMC4wMDc2IDIxLjA3MkMyMC4zMjU5IDIxLjA3MiAyMC42MTU2IDIwLjkyMzQgMjAuNjkyMiAyMC43MDU3QzIwLjkxOTQgMjAuMDQ1MSAyMS4wMzM3IDE5LjM3IDIxLjAzNzQgMTguNjk1M0MyMS4wMzQ5IDE4LjAyNTEgMjAuOTIxMSAxNy4zNTc1IDIwLjY5NTUgMTYuNzAzNUMyMC42MDUzIDE2LjQ0NzcgMjAuMjI5IDE2LjI5MDggMTkuODUxMSAxNi4zNTE3Wk0yMi4xNjA1IDE0LjYwMjhDMjIuNTI1MiAxNC41MTYzIDIyLjkyNTkgMTQuNjQ1NCAyMy4wNTUgMTQuODkzOEMyMy42ODkxIDE2LjExNTcgMjQgMTcuNDA0MiAyNCAxOC42OTIzQzI0LjAwMDQgMTkuOTg5NSAyMy42Nzk2IDIxLjI4MzkgMjMuMDUyMSAyMi41MTUzQzIyLjk1MDMgMjIuNzEyMyAyMi42NzYzIDIyLjgzNDQgMjIuMzgyOCAyMi44MzQ0QzIyLjMwNzEgMjIuODM0NCAyMi4yMzAxIDIyLjgyNjEgMjIuMTU0MyAyMi44MDkyQzIxLjc4NjMgMjIuNzI1MSAyMS41OTE0IDIyLjQ1MzYgMjEuNzE4NSAyMi4yMDc3QzIyLjI5ODggMjEuMDc2MSAyMi41OTIyIDE5Ljg4MzYgMjIuNTkzMSAxOC42OTE5QzIyLjU5MzEgMTcuNTA1NiAyMi4zMDU0IDE2LjMyMjIgMjEuNzI3NiAxNS4yMDI1QzIxLjYwMDEgMTQuOTU2MyAyMS43OTUgMTQuNjg2IDIyLjE2MDUgMTQuNjAyOFoiCiAgICBmaWxsPSIjMjcyN0IwIgogICAgZmlsbC1ydWxlPSJldmVub2RkIgogID48L3BhdGg+Cjwvc3ZnPg==');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Copy icon mapping here
|
|
34
|
+
.str-chat__icon--action::before {
|
|
35
|
+
content: '\e800';
|
|
36
|
+
} /* '' */
|
|
37
|
+
.str-chat__icon--arrow-down::before {
|
|
38
|
+
content: '\e801';
|
|
39
|
+
} /* '' */
|
|
40
|
+
.str-chat__icon--arrow-left::before {
|
|
41
|
+
content: '\e802';
|
|
42
|
+
} /* '' */
|
|
43
|
+
.str-chat__icon--arrow-right::before {
|
|
44
|
+
content: '\e803';
|
|
45
|
+
} /* '' */
|
|
46
|
+
.str-chat__icon--close::before {
|
|
47
|
+
content: '\e804';
|
|
48
|
+
} /* '' */
|
|
49
|
+
.str-chat__icon--arrow-up::before {
|
|
50
|
+
content: '\e805';
|
|
51
|
+
} /* '' */
|
|
52
|
+
.str-chat__icon--chat-bubble::before {
|
|
53
|
+
content: '\e806';
|
|
54
|
+
} /* '' */
|
|
55
|
+
.str-chat__icon--pause::before {
|
|
56
|
+
content: '\e807';
|
|
57
|
+
} /* '' */
|
|
58
|
+
.str-chat__icon--download::before {
|
|
59
|
+
content: '\e808';
|
|
60
|
+
} /* '' */
|
|
61
|
+
.str-chat__icon--delivered::before {
|
|
62
|
+
content: '\e809';
|
|
63
|
+
} /* '' */
|
|
64
|
+
.str-chat__icon--play::before {
|
|
65
|
+
content: '\e80a';
|
|
66
|
+
} /* '' */
|
|
67
|
+
.str-chat__icon--reaction::before {
|
|
68
|
+
content: '\e80b';
|
|
69
|
+
} /* '' */
|
|
70
|
+
.str-chat__icon--error::before {
|
|
71
|
+
content: '\e80c';
|
|
72
|
+
} /* '' */
|
|
73
|
+
.str-chat__icon--read::before {
|
|
74
|
+
content: '\e80d';
|
|
75
|
+
} /* '' */
|
|
76
|
+
.str-chat__icon--retry::before {
|
|
77
|
+
content: '\e80e';
|
|
78
|
+
} /* '' */
|
|
79
|
+
.str-chat__icon--reply-in-thread::before {
|
|
80
|
+
content: '\e80f';
|
|
81
|
+
} /* '' */
|
|
82
|
+
.str-chat__icon--send::before {
|
|
83
|
+
content: '\e810';
|
|
84
|
+
} /* '' */
|
|
85
|
+
.str-chat__icon--attach::before {
|
|
86
|
+
content: '\e811';
|
|
87
|
+
} /* '' */
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* Only available in Angular v5+ */
|
|
2
|
+
.str-chat {
|
|
3
|
+
/* The color of the icon, only available in Angular v5+ */
|
|
4
|
+
--str-chat-icon-color: var(--str-chat__text-color);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.str-chat__icon {
|
|
8
|
+
color: var(--str-chat-icon-color);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.str-chat__icon--error {
|
|
12
|
+
--str-chat-icon-color: var(--str-chat__danger-color);
|
|
13
|
+
}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
.str-chat {
|
|
2
|
+
/* The size of the loading indicator, only available in Angular v5+ */
|
|
3
|
+
--str-chat__loading-indicator-size: calc(var(--str-chat__spacing-px) * 15);
|
|
4
|
+
}
|
|
5
|
+
|
|
2
6
|
.str-chat__loading-indicator {
|
|
3
7
|
display: flex;
|
|
4
8
|
align-items: center;
|
|
5
9
|
justify-content: center;
|
|
6
10
|
animation: rotate 1s linear infinite;
|
|
7
11
|
|
|
12
|
+
svg {
|
|
13
|
+
width: var(--str-chat__loading-indicator-size);
|
|
14
|
+
height: var(--str-chat__loading-indicator-size);
|
|
15
|
+
}
|
|
16
|
+
|
|
8
17
|
@-webkit-keyframes rotate {
|
|
9
18
|
from {
|
|
10
19
|
-webkit-transform: rotate(0deg);
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
.str-chat {
|
|
2
|
+
/* The color of the loading indicator */
|
|
3
|
+
--str-chat__loading-indicator-color: var(--str-chat__primary-color);
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
.str-chat__loading-indicator {
|
|
2
7
|
svg {
|
|
3
8
|
linearGradient {
|
|
4
9
|
stop:last-child {
|
|
5
|
-
stop-color: var(
|
|
6
|
-
--str-chat__loading-indicator-color,
|
|
7
|
-
var(--str-chat__primary-color, #006cff)
|
|
8
|
-
);
|
|
10
|
+
stop-color: var(--str-chat__loading-indicator-color);
|
|
9
11
|
}
|
|
10
12
|
}
|
|
11
13
|
}
|
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
.str-chat__message-bubble {
|
|
30
30
|
max-width: var(--str-chat__message-max-width);
|
|
31
31
|
}
|
|
32
|
+
|
|
33
|
+
.str-chat__message-options {
|
|
34
|
+
--str-chat-icon-height: calc(var(--str-chat__message-options-button-size) * 0.7);
|
|
35
|
+
}
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
.str-chat__message.str-chat__message--has-attachment {
|
|
@@ -218,6 +222,7 @@
|
|
|
218
222
|
}
|
|
219
223
|
|
|
220
224
|
.str-chat__message-status {
|
|
225
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 15);
|
|
221
226
|
@include utils.flex-row-center;
|
|
222
227
|
column-gap: var(--str-chat__spacing-0_5);
|
|
223
228
|
position: relative;
|
|
@@ -453,6 +458,7 @@
|
|
|
453
458
|
}
|
|
454
459
|
|
|
455
460
|
.str-chat__unread-messages-notification {
|
|
461
|
+
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
|
|
456
462
|
position: absolute;
|
|
457
463
|
top: 0.75rem;
|
|
458
464
|
z-index: 2;
|
|
@@ -220,12 +220,15 @@
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
.str-chat__message-options {
|
|
223
|
+
--str-chat-icon-color: var(--str-chat__message-options-color);
|
|
224
|
+
|
|
223
225
|
.str-chat__message-actions-box-button,
|
|
224
226
|
.str-chat__message-reply-in-thread-button,
|
|
225
227
|
.str-chat__message-reactions-button {
|
|
226
228
|
// remove default button styles (React SDK uses button compared to div in Angular SDK)
|
|
227
229
|
@include utils.button-reset;
|
|
228
230
|
border-radius: var(--str-chat__message-options-border-radius);
|
|
231
|
+
color: var(--str-chat__message-options-color);
|
|
229
232
|
|
|
230
233
|
.str-chat__message-action-icon path {
|
|
231
234
|
fill: var(--str-chat__message-options-color);
|
|
@@ -272,6 +275,7 @@
|
|
|
272
275
|
}
|
|
273
276
|
|
|
274
277
|
.str-chat__message-status {
|
|
278
|
+
--str-chat-icon-color: var(--str-chat__message-status-color);
|
|
275
279
|
color: var(--str-chat__message-status-color);
|
|
276
280
|
font: var(--str-chat__body-text);
|
|
277
281
|
|
|
@@ -297,6 +301,7 @@
|
|
|
297
301
|
}
|
|
298
302
|
|
|
299
303
|
.str-chat__message-error-icon {
|
|
304
|
+
--str-chat-icon-color: var(--str-chat__message-error-message-color);
|
|
300
305
|
/* stylelint-disable-next-line selector-max-id */
|
|
301
306
|
svg #background {
|
|
302
307
|
fill: var(--str-chat__message-error-message-color);
|
|
@@ -393,6 +398,7 @@
|
|
|
393
398
|
}
|
|
394
399
|
|
|
395
400
|
.str-chat__unread-messages-notification {
|
|
401
|
+
--str-chat-icon-color: var(--str-chat__on-primary-color);
|
|
396
402
|
background-color: var(--str-chat__text-low-emphasis-color);
|
|
397
403
|
border-radius: 1.125rem;
|
|
398
404
|
|