@azure/communication-react 1.5.1-alpha-202304060012 → 1.5.1-alpha-202304110013
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/communication-react.d.ts +21 -0
- package/dist/dist-cjs/communication-react/index.js +92 -93
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +7 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +3 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +3 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +4 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +19 -0
- package/dist/dist-esm/react-components/src/components/MessageThread.js +6 -4
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +1 -0
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -0
- package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +2 -9
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/package.json +8 -8
@@ -2994,6 +2994,14 @@ export declare interface CameraSitePermissionsProps extends CommonSitePermission
|
|
2994
2994
|
*/
|
2995
2995
|
export declare type CameraSitePermissionsStrings = SitePermissionsStrings;
|
2996
2996
|
|
2997
|
+
/**
|
2998
|
+
* @public
|
2999
|
+
* Callback function run when a message edit is cancelled.
|
3000
|
+
*/
|
3001
|
+
export declare type CancelEditCallback = (messageId: string, metadata?: Record<string, string>, options?: {
|
3002
|
+
attachedFilesMetadata?: FileMetadata[];
|
3003
|
+
}) => void;
|
3004
|
+
|
2997
3005
|
/**
|
2998
3006
|
* {@link ChatComposite} Adapter interface.
|
2999
3007
|
*
|
@@ -3421,6 +3429,7 @@ export declare interface ChatMessage extends MessageCommon {
|
|
3421
3429
|
senderId?: string;
|
3422
3430
|
senderDisplayName?: string;
|
3423
3431
|
status?: MessageStatus;
|
3432
|
+
failureReason?: string;
|
3424
3433
|
attached?: MessageAttachedStatus;
|
3425
3434
|
mine?: boolean;
|
3426
3435
|
clientMessageId?: string;
|
@@ -6101,6 +6110,12 @@ export declare type MessageProps = {
|
|
6101
6110
|
* @param content - new content of the message
|
6102
6111
|
*/
|
6103
6112
|
onUpdateMessage?: UpdateMessageCallback;
|
6113
|
+
/**
|
6114
|
+
* Optional callback for when a message edit is cancelled.
|
6115
|
+
*
|
6116
|
+
* @param messageId - message id from chatClient
|
6117
|
+
*/
|
6118
|
+
onCancelMessageEdit?: CancelEditCallback;
|
6104
6119
|
/**
|
6105
6120
|
* Optional callback to delete a message.
|
6106
6121
|
*
|
@@ -6341,6 +6356,12 @@ export declare type MessageThreadProps = {
|
|
6341
6356
|
*
|
6342
6357
|
*/
|
6343
6358
|
onUpdateMessage?: UpdateMessageCallback;
|
6359
|
+
/**
|
6360
|
+
* Optional callback for when a message edit is cancelled.
|
6361
|
+
*
|
6362
|
+
* @param messageId - message id from chatClient
|
6363
|
+
*/
|
6364
|
+
onCancelMessageEdit?: CancelEditCallback;
|
6344
6365
|
/**
|
6345
6366
|
* Optional callback to delete a message.
|
6346
6367
|
*
|
@@ -162,7 +162,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
162
162
|
// Copyright (c) Microsoft Corporation.
|
163
163
|
// Licensed under the MIT license.
|
164
164
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
165
|
-
var telemetryVersion = '1.5.1-alpha-
|
165
|
+
var telemetryVersion = '1.5.1-alpha-202304110013';
|
166
166
|
|
167
167
|
// Copyright (c) Microsoft Corporation.
|
168
168
|
/**
|
@@ -6348,84 +6348,6 @@ const editBoxStyleSet = {
|
|
6348
6348
|
}
|
6349
6349
|
};
|
6350
6350
|
|
6351
|
-
// Copyright (c) Microsoft Corporation.
|
6352
|
-
const MAXIMUM_LENGTH_OF_MESSAGE = 8000;
|
6353
|
-
const onRenderCancelIcon = (color) => {
|
6354
|
-
const className = react.mergeStyles(inputBoxIcon, { color });
|
6355
|
-
return React__default['default'].createElement(react.Icon, { iconName: 'EditBoxCancel', className: className });
|
6356
|
-
};
|
6357
|
-
const onRenderSubmitIcon = (color) => {
|
6358
|
-
const className = react.mergeStyles(inputBoxIcon, { color });
|
6359
|
-
return React__default['default'].createElement(react.Icon, { iconName: 'EditBoxSubmit', className: className });
|
6360
|
-
};
|
6361
|
-
/**
|
6362
|
-
* @private
|
6363
|
-
*/
|
6364
|
-
const ChatMessageComponentAsEditBox = (props) => {
|
6365
|
-
const { onCancel, onSubmit, strings, message } = props;
|
6366
|
-
const [textValue, setTextValue] = React.useState(message.content || '');
|
6367
|
-
const [attachedFilesMetadata, setAttachedFilesMetadata] = React__default['default'].useState(getMessageAttachedFilesMetadata(message));
|
6368
|
-
const editTextFieldRef = React__default['default'].useRef(null);
|
6369
|
-
const theme = useTheme();
|
6370
|
-
const messageState = getMessageState(textValue, attachedFilesMetadata !== null && attachedFilesMetadata !== void 0 ? attachedFilesMetadata : []);
|
6371
|
-
const submitEnabled = messageState === 'OK';
|
6372
|
-
React.useEffect(() => {
|
6373
|
-
var _a;
|
6374
|
-
(_a = editTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
6375
|
-
}, []);
|
6376
|
-
const setText = (event, newValue) => {
|
6377
|
-
setTextValue(newValue !== null && newValue !== void 0 ? newValue : '');
|
6378
|
-
};
|
6379
|
-
const textTooLongMessage = messageState === 'too long'
|
6380
|
-
? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })
|
6381
|
-
: undefined;
|
6382
|
-
const onRenderThemedCancelIcon = React.useCallback(() => onRenderCancelIcon(theme.palette.neutralSecondary), [theme.palette.neutralSecondary]);
|
6383
|
-
const onRenderThemedSubmitIcon = React.useCallback(() => onRenderSubmitIcon(theme.palette.neutralSecondary), [theme.palette.neutralSecondary]);
|
6384
|
-
const editBoxStyles = React.useMemo(() => {
|
6385
|
-
return react.concatStyleSets(editBoxStyleSet, { textField: { borderColor: theme.palette.themePrimary } });
|
6386
|
-
}, [theme.palette.themePrimary]);
|
6387
|
-
const onRenderFileUploads = React.useCallback(() => {
|
6388
|
-
return ((attachedFilesMetadata === null || attachedFilesMetadata === void 0 ? void 0 : attachedFilesMetadata.length) && (React__default['default'].createElement("div", { style: { margin: '0.25rem' } },
|
6389
|
-
React__default['default'].createElement(_FileUploadCards, { activeFileUploads: attachedFilesMetadata === null || attachedFilesMetadata === void 0 ? void 0 : attachedFilesMetadata.map((file) => ({
|
6390
|
-
id: file.name,
|
6391
|
-
filename: file.name,
|
6392
|
-
progress: 1
|
6393
|
-
})), onCancelFileUpload: (fileId) => {
|
6394
|
-
setAttachedFilesMetadata(attachedFilesMetadata === null || attachedFilesMetadata === void 0 ? void 0 : attachedFilesMetadata.filter((file) => file.name !== fileId));
|
6395
|
-
} }))));
|
6396
|
-
}, [attachedFilesMetadata]);
|
6397
|
-
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(borderAndBoxShadowStyle({
|
6398
|
-
theme,
|
6399
|
-
hasErrorMessage: false,
|
6400
|
-
disabled: false
|
6401
|
-
})) },
|
6402
|
-
React__default['default'].createElement(InputBoxComponent, { inlineChildren: props.inlineEditButtons, id: 'editbox', textFieldRef: editTextFieldRef, inputClassName: editBoxStyle(props.inlineEditButtons), placeholderText: strings.editBoxPlaceholderText, textValue: textValue, onChange: setText, onEnterKeyDown: () => {
|
6403
|
-
submitEnabled &&
|
6404
|
-
onSubmit(textValue, message.metadata, {
|
6405
|
-
attachedFilesMetadata
|
6406
|
-
});
|
6407
|
-
}, supportNewline: false, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, errorMessage: textTooLongMessage, styles: editBoxStyles },
|
6408
|
-
React__default['default'].createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxCancelButton, tooltipContent: strings.editBoxCancelButton, onRenderIcon: onRenderThemedCancelIcon, onClick: () => {
|
6409
|
-
onCancel && onCancel();
|
6410
|
-
}, id: 'dismissIconWrapper' }),
|
6411
|
-
React__default['default'].createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxSubmitButton, tooltipContent: strings.editBoxSubmitButton, onRenderIcon: onRenderThemedSubmitIcon, onClick: (e) => {
|
6412
|
-
submitEnabled &&
|
6413
|
-
onSubmit(textValue, message.metadata, {
|
6414
|
-
attachedFilesMetadata
|
6415
|
-
});
|
6416
|
-
e.stopPropagation();
|
6417
|
-
}, id: 'submitIconWrapper' })),
|
6418
|
-
onRenderFileUploads()));
|
6419
|
-
};
|
6420
|
-
const isMessageTooLong = (messageText) => messageText.length > MAXIMUM_LENGTH_OF_MESSAGE;
|
6421
|
-
const isMessageEmpty = (messageText, attachedFilesMetadata) => messageText.trim().length === 0 && attachedFilesMetadata.length === 0;
|
6422
|
-
const getMessageState = (messageText, attachedFilesMetadata) => isMessageEmpty(messageText, attachedFilesMetadata) ? 'too short' : isMessageTooLong(messageText) ? 'too long' : 'OK';
|
6423
|
-
// @TODO: Remove when file-sharing feature becomes stable.
|
6424
|
-
const getMessageAttachedFilesMetadata = (message) => {
|
6425
|
-
/* @conditional-compile-remove(file-sharing) */
|
6426
|
-
return message.attachedFilesMetadata;
|
6427
|
-
};
|
6428
|
-
|
6429
6351
|
// Copyright (c) Microsoft Corporation.
|
6430
6352
|
const MINIMUM_TOUCH_TARGET_HEIGHT_REM$1 = 3;
|
6431
6353
|
/**
|
@@ -6522,6 +6444,85 @@ const menuSubIconStyleSet = {
|
|
6522
6444
|
}
|
6523
6445
|
};
|
6524
6446
|
|
6447
|
+
// Copyright (c) Microsoft Corporation.
|
6448
|
+
const MAXIMUM_LENGTH_OF_MESSAGE = 8000;
|
6449
|
+
const onRenderCancelIcon = (color) => {
|
6450
|
+
const className = react.mergeStyles(inputBoxIcon, { color });
|
6451
|
+
return React__default['default'].createElement(react.Icon, { iconName: 'EditBoxCancel', className: className });
|
6452
|
+
};
|
6453
|
+
const onRenderSubmitIcon = (color) => {
|
6454
|
+
const className = react.mergeStyles(inputBoxIcon, { color });
|
6455
|
+
return React__default['default'].createElement(react.Icon, { iconName: 'EditBoxSubmit', className: className });
|
6456
|
+
};
|
6457
|
+
/**
|
6458
|
+
* @private
|
6459
|
+
*/
|
6460
|
+
const ChatMessageComponentAsEditBox = (props) => {
|
6461
|
+
const { onCancel, onSubmit, strings, message } = props;
|
6462
|
+
const [textValue, setTextValue] = React.useState(message.content || '');
|
6463
|
+
const [attachedFilesMetadata, setAttachedFilesMetadata] = React__default['default'].useState(getMessageAttachedFilesMetadata(message));
|
6464
|
+
const editTextFieldRef = React__default['default'].useRef(null);
|
6465
|
+
const theme = useTheme();
|
6466
|
+
const messageState = getMessageState(textValue, attachedFilesMetadata !== null && attachedFilesMetadata !== void 0 ? attachedFilesMetadata : []);
|
6467
|
+
const submitEnabled = messageState === 'OK';
|
6468
|
+
React.useEffect(() => {
|
6469
|
+
var _a;
|
6470
|
+
(_a = editTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
6471
|
+
}, []);
|
6472
|
+
const setText = (event, newValue) => {
|
6473
|
+
setTextValue(newValue !== null && newValue !== void 0 ? newValue : '');
|
6474
|
+
};
|
6475
|
+
const textTooLongMessage = messageState === 'too long'
|
6476
|
+
? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })
|
6477
|
+
: undefined;
|
6478
|
+
const onRenderThemedCancelIcon = React.useCallback(() => onRenderCancelIcon(theme.palette.neutralSecondary), [theme.palette.neutralSecondary]);
|
6479
|
+
const onRenderThemedSubmitIcon = React.useCallback(() => onRenderSubmitIcon(theme.palette.neutralSecondary), [theme.palette.neutralSecondary]);
|
6480
|
+
const editBoxStyles = React.useMemo(() => {
|
6481
|
+
return react.concatStyleSets(editBoxStyleSet, { textField: { borderColor: theme.palette.themePrimary } });
|
6482
|
+
}, [theme.palette.themePrimary]);
|
6483
|
+
const onRenderFileUploads = React.useCallback(() => {
|
6484
|
+
return ((attachedFilesMetadata === null || attachedFilesMetadata === void 0 ? void 0 : attachedFilesMetadata.length) && (React__default['default'].createElement("div", { style: { margin: '0.25rem' } },
|
6485
|
+
React__default['default'].createElement(_FileUploadCards, { activeFileUploads: attachedFilesMetadata === null || attachedFilesMetadata === void 0 ? void 0 : attachedFilesMetadata.map((file) => ({
|
6486
|
+
id: file.name,
|
6487
|
+
filename: file.name,
|
6488
|
+
progress: 1
|
6489
|
+
})), onCancelFileUpload: (fileId) => {
|
6490
|
+
setAttachedFilesMetadata(attachedFilesMetadata === null || attachedFilesMetadata === void 0 ? void 0 : attachedFilesMetadata.filter((file) => file.name !== fileId));
|
6491
|
+
} }))));
|
6492
|
+
}, [attachedFilesMetadata]);
|
6493
|
+
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(borderAndBoxShadowStyle({
|
6494
|
+
theme,
|
6495
|
+
hasErrorMessage: message.failureReason !== undefined,
|
6496
|
+
disabled: false
|
6497
|
+
})) },
|
6498
|
+
React__default['default'].createElement(InputBoxComponent, { inlineChildren: props.inlineEditButtons, id: 'editbox', textFieldRef: editTextFieldRef, inputClassName: editBoxStyle(props.inlineEditButtons), placeholderText: strings.editBoxPlaceholderText, textValue: textValue, onChange: setText, onEnterKeyDown: () => {
|
6499
|
+
submitEnabled &&
|
6500
|
+
onSubmit(textValue, message.metadata, {
|
6501
|
+
attachedFilesMetadata
|
6502
|
+
});
|
6503
|
+
}, supportNewline: false, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, errorMessage: textTooLongMessage, styles: editBoxStyles },
|
6504
|
+
React__default['default'].createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxCancelButton, tooltipContent: strings.editBoxCancelButton, onRenderIcon: onRenderThemedCancelIcon, onClick: () => {
|
6505
|
+
onCancel && onCancel(message.messageId, message.metadata, { attachedFilesMetadata });
|
6506
|
+
}, id: 'dismissIconWrapper' }),
|
6507
|
+
React__default['default'].createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxSubmitButton, tooltipContent: strings.editBoxSubmitButton, onRenderIcon: onRenderThemedSubmitIcon, onClick: (e) => {
|
6508
|
+
submitEnabled &&
|
6509
|
+
onSubmit(textValue, message.metadata, {
|
6510
|
+
attachedFilesMetadata
|
6511
|
+
});
|
6512
|
+
e.stopPropagation();
|
6513
|
+
}, id: 'submitIconWrapper' })),
|
6514
|
+
message.failureReason && (React__default['default'].createElement("div", { className: react.mergeStyles(chatMessageFailedTagStyle(theme), { padding: '0.5rem' }) }, message.failureReason)),
|
6515
|
+
onRenderFileUploads()));
|
6516
|
+
};
|
6517
|
+
const isMessageTooLong = (messageText) => messageText.length > MAXIMUM_LENGTH_OF_MESSAGE;
|
6518
|
+
const isMessageEmpty = (messageText, attachedFilesMetadata) => messageText.trim().length === 0 && attachedFilesMetadata.length === 0;
|
6519
|
+
const getMessageState = (messageText, attachedFilesMetadata) => isMessageEmpty(messageText, attachedFilesMetadata) ? 'too short' : isMessageTooLong(messageText) ? 'too long' : 'OK';
|
6520
|
+
// @TODO: Remove when file-sharing feature becomes stable.
|
6521
|
+
const getMessageAttachedFilesMetadata = (message) => {
|
6522
|
+
/* @conditional-compile-remove(file-sharing) */
|
6523
|
+
return message.attachedFilesMetadata;
|
6524
|
+
};
|
6525
|
+
|
6525
6526
|
// Copyright (c) Microsoft Corporation.
|
6526
6527
|
// Licensed under the MIT license.
|
6527
6528
|
/**
|
@@ -7101,7 +7102,7 @@ const ChatMessageComponent = (props) => {
|
|
7101
7102
|
if (onDeleteMessage && message.messageId) {
|
7102
7103
|
onDeleteMessage(message.messageId);
|
7103
7104
|
}
|
7104
|
-
// when fail to send, message does not have message id, delete message using
|
7105
|
+
// when fail to send, message does not have message id, delete message using clientMessageId
|
7105
7106
|
else if (onDeleteMessage && message.messageType === 'chat' && clientMessageId) {
|
7106
7107
|
onDeleteMessage(clientMessageId);
|
7107
7108
|
}
|
@@ -7116,7 +7117,8 @@ const ChatMessageComponent = (props) => {
|
|
7116
7117
|
message.messageId &&
|
7117
7118
|
(yield props.onUpdateMessage(message.messageId, text, metadata, options));
|
7118
7119
|
setIsEditing(false);
|
7119
|
-
}), onCancel: () => {
|
7120
|
+
}), onCancel: (messageId, metadata, options) => {
|
7121
|
+
props.onCancelMessageEdit && props.onCancelMessageEdit(messageId, metadata, options);
|
7120
7122
|
setIsEditing(false);
|
7121
7123
|
} }));
|
7122
7124
|
}
|
@@ -7312,13 +7314,14 @@ const DefaultSystemMessage = (props) => {
|
|
7312
7314
|
}
|
7313
7315
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
7314
7316
|
};
|
7315
|
-
const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, shouldOverlapAvatarAndMessage, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, theme, _attached, statusToRender, participantCount, readCount, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, disableEditing) => {
|
7317
|
+
const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, shouldOverlapAvatarAndMessage, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, theme, _attached, statusToRender, participantCount, readCount, onRenderMessage, onUpdateMessage, onCancelMessageEdit, onDeleteMessage, onSendMessage, disableEditing) => {
|
7316
7318
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
7317
7319
|
const messageProps = {
|
7318
7320
|
message,
|
7319
7321
|
strings,
|
7320
7322
|
showDate: showMessageDate,
|
7321
7323
|
onUpdateMessage,
|
7324
|
+
onCancelMessageEdit,
|
7322
7325
|
onDeleteMessage,
|
7323
7326
|
onSendMessage,
|
7324
7327
|
disableEditing
|
@@ -7412,7 +7415,7 @@ const getLastChatMessageIdWithStatus = (messages, status) => {
|
|
7412
7415
|
*/
|
7413
7416
|
const MessageThread = (props) => {
|
7414
7417
|
var _a;
|
7415
|
-
const { messages: newMessages, userId, participantCount, readReceiptsBySenderId, styles, disableJumpToNewMessageButton = false, showMessageDate = false, showMessageStatus = false, numberOfChatMessagesToReload = 5, onMessageSeen, onRenderMessageStatus, onRenderAvatar, onLoadPreviousChatMessages, onRenderJumpToNewMessageButton, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage,
|
7418
|
+
const { messages: newMessages, userId, participantCount, readReceiptsBySenderId, styles, disableJumpToNewMessageButton = false, showMessageDate = false, showMessageStatus = false, numberOfChatMessagesToReload = 5, onMessageSeen, onRenderMessageStatus, onRenderAvatar, onLoadPreviousChatMessages, onRenderJumpToNewMessageButton, onRenderMessage, onUpdateMessage, onCancelMessageEdit, onDeleteMessage, onSendMessage,
|
7416
7419
|
/* @conditional-compile-remove(date-time-customization) */
|
7417
7420
|
onDisplayDateTimeString } = props;
|
7418
7421
|
const onRenderFileDownloads = onRenderFileDownloadsTrampoline(props);
|
@@ -7608,7 +7611,7 @@ const MessageThread = (props) => {
|
|
7608
7611
|
setLastSendingChatMessage(getLastChatMessageIdWithStatus(newMessages, 'sending'));
|
7609
7612
|
}, [newMessages]);
|
7610
7613
|
/**
|
7611
|
-
* This needs to run after messages are
|
7614
|
+
* This needs to run after messages are rendered so we can manipulate the scroll bar.
|
7612
7615
|
*/
|
7613
7616
|
React.useEffect(() => {
|
7614
7617
|
// If user just sent the latest message then we assume we can move user to bottom of scroll.
|
@@ -7706,7 +7709,7 @@ const MessageThread = (props) => {
|
|
7706
7709
|
message.messageType === 'chat' ||
|
7707
7710
|
/* @conditional-compile-remove(data-loss-prevention) */ message.messageType === 'blocked'
|
7708
7711
|
? message.attached
|
7709
|
-
: undefined, statusToRender, participantCount, readCountForHoveredIndicator, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, props.disableEditing);
|
7712
|
+
: undefined, statusToRender, participantCount, readCountForHoveredIndicator, onRenderMessage, onUpdateMessage, onCancelMessageEdit, onDeleteMessage, onSendMessage, props.disableEditing);
|
7710
7713
|
});
|
7711
7714
|
}), [
|
7712
7715
|
messages,
|
@@ -7724,6 +7727,7 @@ const MessageThread = (props) => {
|
|
7724
7727
|
readCountForHoveredIndicator,
|
7725
7728
|
onRenderMessage,
|
7726
7729
|
onUpdateMessage,
|
7730
|
+
onCancelMessageEdit,
|
7727
7731
|
onDeleteMessage,
|
7728
7732
|
onSendMessage,
|
7729
7733
|
lastSeenChatMessage,
|
@@ -8734,6 +8738,7 @@ const moreButtonStyles = {
|
|
8734
8738
|
// To ensure that the button is clickable when there is a floating video tile
|
8735
8739
|
zIndex: 1,
|
8736
8740
|
color: 'inherit',
|
8741
|
+
top: '-0.125rem',
|
8737
8742
|
height: '100%'
|
8738
8743
|
},
|
8739
8744
|
rootHovered: {
|
@@ -22699,9 +22704,8 @@ const MainScreen = (props) => {
|
|
22699
22704
|
modalLayerHostId: props.modalLayerHostId, options: props.options }));
|
22700
22705
|
break;
|
22701
22706
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
22702
|
-
case
|
22703
|
-
pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null,
|
22704
|
-
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ React__default['default'].createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options })));
|
22707
|
+
case 'hold':
|
22708
|
+
pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options })));
|
22705
22709
|
break;
|
22706
22710
|
}
|
22707
22711
|
/* @conditional-compile-remove(unsupported-browser) */
|
@@ -22772,11 +22776,6 @@ const CallComposite = (props) => {
|
|
22772
22776
|
/* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) @conditional-compile-remove(call-readiness) */
|
22773
22777
|
React__default['default'].createElement(react.LayerHost, { id: modalLayerHostId, className: react.mergeStyles(modalLayerHostStyle) })))));
|
22774
22778
|
};
|
22775
|
-
const holdPageTrampoline = () => {
|
22776
|
-
/* @conditional-compile-remove(one-to-n-calling) */
|
22777
|
-
/* @conditional-compile-remove(PSTN-calls) */
|
22778
|
-
return 'hold';
|
22779
|
-
};
|
22780
22779
|
const getQueryOptions = (options) => {
|
22781
22780
|
/* @conditional-compile-remove(rooms) */
|
22782
22781
|
if (options.role === 'Consumer') {
|