@azure/communication-react 1.2.3-alpha-202205010016.0 → 1.2.3-alpha-202205050013.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/dist-cjs/communication-react/index.js +82 -131
- 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/calling-component-bindings/src/callControlSelectors.d.ts.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +0 -6
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +11 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.d.ts.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +4 -2
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -3
- package/dist/dist-esm/communication-react/src/index.d.ts.map +1 -1
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CameraButton.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/CameraButton.js +4 -18
- package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +1 -2
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +4 -18
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +3 -3
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.js +20 -4
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +25 -27
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +2 -4
- package/dist/dist-esm/react-components/src/components/index.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts +4 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +2 -2
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +1 -8
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +2 -18
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeoplePaneContent.js +2 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/TabHeader.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/TabHeader.js +2 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/TabHeader.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.d.ts +2 -4
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CustomDataModelUtils.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/common/CustomDataModelUtils.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CustomDataModelUtils.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/common/CustomDataModelUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -14
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -4
- package/dist/dist-esm/react-composites/src/composites/index.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.js +1 -4
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
- package/package.json +7 -7
@@ -191,7 +191,7 @@ const fromFlatCommunicationIdentifier = (id) => {
|
|
191
191
|
// Copyright (c) Microsoft Corporation.
|
192
192
|
// Licensed under the MIT license.
|
193
193
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
194
|
-
var telemetryVersion = '1.2.3-alpha-
|
194
|
+
var telemetryVersion = '1.2.3-alpha-202205050013.0';
|
195
195
|
|
196
196
|
// Copyright (c) Microsoft Corporation.
|
197
197
|
/**
|
@@ -387,13 +387,9 @@ const microphoneButtonSelector = reselect__namespace.createSelector([getCallExis
|
|
387
387
|
return {
|
388
388
|
disabled: !callExists || !permission,
|
389
389
|
checked: callExists ? !isMuted : false,
|
390
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
391
390
|
microphones: deviceManager.microphones,
|
392
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
393
391
|
speakers: deviceManager.speakers,
|
394
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
395
392
|
selectedMicrophone: deviceManager.selectedMicrophone,
|
396
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
397
393
|
selectedSpeaker: deviceManager.selectedSpeaker
|
398
394
|
};
|
399
395
|
});
|
@@ -409,9 +405,7 @@ const cameraButtonSelector = reselect__namespace.createSelector([getLocalVideoSt
|
|
409
405
|
return {
|
410
406
|
disabled: !deviceManager.selectedCamera || !permission,
|
411
407
|
checked: localVideoStreams !== undefined && localVideoStreams.length > 0 ? !!localVideoFromCall : previewOn,
|
412
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
413
408
|
cameras: deviceManager.cameras,
|
414
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
415
409
|
selectedCamera: deviceManager.selectedCamera
|
416
410
|
};
|
417
411
|
});
|
@@ -2180,8 +2174,9 @@ const SendBox = (props) => {
|
|
2180
2174
|
return;
|
2181
2175
|
}
|
2182
2176
|
// we dont want to send empty messages including spaces, newlines, tabs
|
2183
|
-
if
|
2184
|
-
|
2177
|
+
// Message can be empty if there is a valid file upload
|
2178
|
+
if (!EMPTY_MESSAGE_REGEX.test(textValue) || hasFile(props)) {
|
2179
|
+
onSendMessage && onSendMessage(sanitizeText(textValue));
|
2185
2180
|
setTextValue('');
|
2186
2181
|
}
|
2187
2182
|
(_a = sendTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
@@ -2203,9 +2198,10 @@ const SendBox = (props) => {
|
|
2203
2198
|
const mergedSendButtonStyle = React.useMemo(() => react.mergeStyles(sendButtonStyle, styles === null || styles === void 0 ? void 0 : styles.sendMessageIconContainer), [styles === null || styles === void 0 ? void 0 : styles.sendMessageIconContainer]);
|
2204
2199
|
const mergedStyles = React.useMemo(() => react.concatStyleSets(styles), [styles]);
|
2205
2200
|
const hasText = !!textValue;
|
2201
|
+
const hasTextOrFile = hasText || hasFile(props);
|
2206
2202
|
const mergedSendIconStyle = React.useMemo(() => react.mergeStyles(sendIconStyle, {
|
2207
|
-
color: !!errorMessage || !
|
2208
|
-
}, styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon), [errorMessage,
|
2203
|
+
color: !!errorMessage || !hasTextOrFile ? theme.palette.neutralTertiary : theme.palette.themePrimary
|
2204
|
+
}, styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon), [errorMessage, hasTextOrFile, theme, styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon]);
|
2209
2205
|
const onRenderSendIcon = React.useCallback((isHover) => onRenderIcon ? (onRenderIcon(isHover)) : (React__default['default'].createElement(react.Icon, { iconName: isHover && textValue ? 'SendBoxSendHovered' : 'SendBoxSend', className: mergedSendIconStyle })), [mergedSendIconStyle, onRenderIcon, textValue]);
|
2210
2206
|
/* @conditional-compile-remove(file-sharing) */
|
2211
2207
|
// Ensure that errors are cleared when there are no files in sendbox
|
@@ -2264,6 +2260,19 @@ const hasIncompleteFileUploads = (props) => {
|
|
2264
2260
|
return !!(((_a = props.activeFileUploads) === null || _a === void 0 ? void 0 : _a.length) &&
|
2265
2261
|
!props.activeFileUploads.filter((fileUpload) => !fileUpload.error).every((fileUpload) => fileUpload.uploadComplete));
|
2266
2262
|
};
|
2263
|
+
const hasFile = (props) => {
|
2264
|
+
var _a;
|
2265
|
+
/* @conditional-compile-remove(file-sharing) */
|
2266
|
+
return !!((_a = props.activeFileUploads) === null || _a === void 0 ? void 0 : _a.find((file) => !file.error));
|
2267
|
+
};
|
2268
|
+
const sanitizeText = (message) => {
|
2269
|
+
if (EMPTY_MESSAGE_REGEX.test(message)) {
|
2270
|
+
return '';
|
2271
|
+
}
|
2272
|
+
else {
|
2273
|
+
return message;
|
2274
|
+
}
|
2275
|
+
};
|
2267
2276
|
|
2268
2277
|
// Copyright (c) Microsoft Corporation.
|
2269
2278
|
/** @private */
|
@@ -3086,7 +3095,7 @@ const _FileDownloadCards = (props) => {
|
|
3086
3095
|
}
|
3087
3096
|
return (React__default['default'].createElement("div", { style: fileDownloadCardsStyle, "data-ui-id": "file-download-card-group" },
|
3088
3097
|
React__default['default'].createElement(_FileCardGroup, null, fileMetadata &&
|
3089
|
-
fileMetadata.map((file) => (React__default['default'].createElement(_FileCard, { fileName: file.name, key: file.name, fileExtension:
|
3098
|
+
fileMetadata.map((file) => (React__default['default'].createElement(_FileCard, { fileName: file.name, key: file.name, fileExtension: file.extension, actionIcon: showSpinner ? React__default['default'].createElement(react.Spinner, { size: react.SpinnerSize.medium, "aria-live": 'assertive' }) : React__default['default'].createElement(DownloadIconTrampoline, null), actionHandler: () => fileDownloadHandler(userId, file) }))))));
|
3090
3099
|
};
|
3091
3100
|
/**
|
3092
3101
|
* @private
|
@@ -3871,14 +3880,14 @@ const StreamMedia = (props) => {
|
|
3871
3880
|
/**
|
3872
3881
|
* @private
|
3873
3882
|
*/
|
3874
|
-
const participantItemContainerStyle = (
|
3883
|
+
const participantItemContainerStyle = (options) => {
|
3875
3884
|
return {
|
3876
3885
|
paddingTop: '0.25rem',
|
3877
3886
|
paddingBottom: '0.25rem',
|
3878
3887
|
display: 'flex',
|
3879
3888
|
maxWidth: '100%',
|
3880
3889
|
minWidth: '8rem',
|
3881
|
-
cursor:
|
3890
|
+
cursor: options.localparticipant || !options.clickable ? 'default' : 'pointer',
|
3882
3891
|
alignItems: 'center'
|
3883
3892
|
};
|
3884
3893
|
};
|
@@ -3950,14 +3959,14 @@ const ParticipantItem = (props) => {
|
|
3950
3959
|
setItemHovered(false);
|
3951
3960
|
setMenuHidden(true);
|
3952
3961
|
};
|
3953
|
-
return (React__default['default'].createElement("div", { ref: containerRef, role: 'menuitem', "data-is-focusable": true, className: react.mergeStyles(participantItemContainerStyle(me), styles === null || styles === void 0 ? void 0 : styles.root), onMouseEnter: () => setItemHovered(true), onMouseLeave: () => setItemHovered(false), onClick: () => {
|
3962
|
+
return (React__default['default'].createElement("div", { ref: containerRef, role: 'menuitem', "data-is-focusable": true, className: react.mergeStyles(participantItemContainerStyle({ localparticipant: me, clickable: !!menuItems }), styles === null || styles === void 0 ? void 0 : styles.root), onMouseEnter: () => setItemHovered(true), onMouseLeave: () => setItemHovered(false), onClick: () => {
|
3954
3963
|
setItemHovered(true);
|
3955
3964
|
setMenuHidden(false);
|
3956
3965
|
onClick === null || onClick === void 0 ? void 0 : onClick(props);
|
3957
3966
|
} },
|
3958
3967
|
React__default['default'].createElement(react.Stack, { horizontal: true, className: react.mergeStyles({ width: `calc(100% - ${menuButtonContainerStyle.width})`, alignItems: 'center' }) },
|
3959
3968
|
avatar,
|
3960
|
-
me && React__default['default'].createElement(react.
|
3969
|
+
me && React__default['default'].createElement(react.Text, { className: meTextStyle }, isMeText),
|
3961
3970
|
React__default['default'].createElement(react.Stack, { horizontal: true, className: react.mergeStyles(infoContainerStyle) }, onRenderIcon && onRenderIcon(props))),
|
3962
3971
|
menuItems && menuItems.length > 0 && (React__default['default'].createElement(React__default['default'].Fragment, null,
|
3963
3972
|
menuButton,
|
@@ -5496,18 +5505,13 @@ const modalMaxDragPosition = { x: localVideoTileOuterPaddingPX, y: localVideoTil
|
|
5496
5505
|
* @public
|
5497
5506
|
*/
|
5498
5507
|
const VideoGallery = (props) => {
|
5499
|
-
var _a, _b, _c
|
5500
|
-
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS,
|
5501
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
5502
|
-
showCameraSwitcherInLocalPreview,
|
5503
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
5504
|
-
localVideoCameraCycleButtonProps } = props;
|
5508
|
+
var _a, _b, _c;
|
5509
|
+
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps } = props;
|
5505
5510
|
const ids = useIdentifiers();
|
5506
5511
|
const theme = useTheme();
|
5507
5512
|
const localeStrings = useLocale$1().strings.videoGallery;
|
5508
5513
|
const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
|
5509
5514
|
const shouldFloatLocalVideo = !!(layout === 'floatingLocalVideo' && remoteParticipants.length > 0);
|
5510
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
5511
5515
|
const shouldFloatNonDraggableLocalVideo = !!(showCameraSwitcherInLocalPreview && shouldFloatLocalVideo);
|
5512
5516
|
const containerRef = React.useRef(null);
|
5513
5517
|
const containerWidth = _useContainerWidth(containerRef);
|
@@ -5541,16 +5545,23 @@ const VideoGallery = (props) => {
|
|
5541
5545
|
lastVisibleParticipants: visibleAudioParticipants.current,
|
5542
5546
|
maxDominantSpeakers: MAX_AUDIO_DOMINANT_SPEAKERS
|
5543
5547
|
});
|
5544
|
-
|
5545
|
-
|
5546
|
-
|
5547
|
-
|
5548
|
-
|
5548
|
+
const LocalCameraCycleButton = React.useCallback(() => {
|
5549
|
+
const ariaDescription = (localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.selectedCamera) &&
|
5550
|
+
_formatString(strings.localVideoSelectedDescription, {
|
5551
|
+
cameraName: localVideoCameraCycleButtonProps.selectedCamera.name
|
5552
|
+
});
|
5549
5553
|
return (React__default['default'].createElement(react.Stack, { horizontalAlign: "end" }, showCameraSwitcherInLocalPreview &&
|
5550
5554
|
(localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.cameras) !== undefined &&
|
5551
5555
|
(localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.selectedCamera) !== undefined &&
|
5552
5556
|
(localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.onSelectCamera) !== undefined && (React__default['default'].createElement(LocalVideoCameraCycleButton, { cameras: localVideoCameraCycleButtonProps.cameras, selectedCamera: localVideoCameraCycleButtonProps.selectedCamera, onSelectCamera: localVideoCameraCycleButtonProps.onSelectCamera, label: strings.localVideoCameraSwitcherLabel, ariaDescription: ariaDescription }))));
|
5553
|
-
}
|
5557
|
+
}, [
|
5558
|
+
localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.cameras,
|
5559
|
+
localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.onSelectCamera,
|
5560
|
+
localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.selectedCamera,
|
5561
|
+
showCameraSwitcherInLocalPreview,
|
5562
|
+
strings.localVideoCameraSwitcherLabel,
|
5563
|
+
strings.localVideoSelectedDescription
|
5564
|
+
]);
|
5554
5565
|
/**
|
5555
5566
|
* Utility function for memoized rendering of LocalParticipant.
|
5556
5567
|
*/
|
@@ -5568,18 +5579,20 @@ const VideoGallery = (props) => {
|
|
5568
5579
|
}
|
5569
5580
|
return (React__default['default'].createElement(react.Stack, { tabIndex: 0, "aria-label": strings.localVideoMovementLabel, role: 'dialog' },
|
5570
5581
|
React__default['default'].createElement(VideoTile, { key: localParticipant.userId, userId: localParticipant.userId, renderElement: (localVideoStream === null || localVideoStream === void 0 ? void 0 : localVideoStream.renderElement) ? (React__default['default'].createElement(React__default['default'].Fragment, null,
|
5571
|
-
|
5572
|
-
localCameraCycleButton(localVideoCameraCycleButtonProps),
|
5582
|
+
React__default['default'].createElement(LocalCameraCycleButton, null),
|
5573
5583
|
React__default['default'].createElement(StreamMedia, { videoStreamElement: localVideoStream.renderElement }))) : undefined, showLabel: !(shouldFloatLocalVideo && isNarrow), displayName: isNarrow ? '' : strings.localVideoLabel, initialsName: localParticipant.displayName, styles: localVideoTileStylesThemed, onRenderPlaceholder: onRenderAvatar, isMuted: localParticipant.isMuted, showMuteIndicator: showMuteIndicator })));
|
5574
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
5575
5584
|
}, [
|
5576
5585
|
localParticipant,
|
5577
|
-
localParticipant.isScreenSharingOn,
|
5578
|
-
localParticipant.videoStream,
|
5579
|
-
(_c = localParticipant.videoStream) === null || _c === void 0 ? void 0 : _c.renderElement,
|
5580
5586
|
isNarrow,
|
5581
5587
|
onCreateLocalStreamView,
|
5582
5588
|
onRenderLocalVideoTile,
|
5589
|
+
theme.effects.roundedCorner4,
|
5590
|
+
styles === null || styles === void 0 ? void 0 : styles.localVideo,
|
5591
|
+
strings.localVideoMovementLabel,
|
5592
|
+
strings.localVideoLabel,
|
5593
|
+
LocalCameraCycleButton,
|
5594
|
+
showMuteIndicator,
|
5595
|
+
localVideoViewOptions,
|
5583
5596
|
onRenderAvatar,
|
5584
5597
|
shouldFloatLocalVideo
|
5585
5598
|
]);
|
@@ -5611,22 +5624,18 @@ const VideoGallery = (props) => {
|
|
5611
5624
|
gridTiles = videoTiles.length > 0 ? videoTiles : audioTiles;
|
5612
5625
|
horizontalGalleryTiles = videoTiles.length > 0 ? audioTiles : [];
|
5613
5626
|
}
|
5614
|
-
if (!shouldFloatLocalVideo &&
|
5615
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */ !shouldFloatNonDraggableLocalVideo &&
|
5616
|
-
localParticipant) {
|
5627
|
+
if (!shouldFloatLocalVideo && localParticipant) {
|
5617
5628
|
gridTiles.push(localVideoTile);
|
5618
5629
|
}
|
5619
5630
|
const localScreenShareStreamComponent = React__default['default'].createElement(LocalScreenShare, { localParticipant: localParticipant });
|
5620
|
-
const remoteScreenShareComponent = screenShareParticipant && (React__default['default'].createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (
|
5631
|
+
const remoteScreenShareComponent = screenShareParticipant && (React__default['default'].createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (_c = screenShareParticipant.screenShareStream) === null || _c === void 0 ? void 0 : _c.renderElement, onCreateRemoteStreamView: onCreateRemoteStreamView, onDisposeRemoteStreamView: onDisposeRemoteStreamView })));
|
5621
5632
|
const horizontalGalleryPresent = horizontalGalleryTiles && horizontalGalleryTiles.length > 0;
|
5622
5633
|
const layerHostId = reactHooks.useId('layerhost');
|
5623
5634
|
return (React__default['default'].createElement("div", { "data-ui-id": ids.videoGallery, ref: containerRef, className: react.mergeStyles(videoGalleryOuterDivStyle, styles === null || styles === void 0 ? void 0 : styles.root) },
|
5624
5635
|
shouldFloatLocalVideo &&
|
5625
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
5626
5636
|
!shouldFloatNonDraggableLocalVideo &&
|
5627
5637
|
localParticipant &&
|
5628
5638
|
(horizontalGalleryPresent ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileContainerStyle(theme, isNarrow)) }, localVideoTile)) : (React__default['default'].createElement(_ModalClone, { isOpen: true, isModeless: true, dragOptions: DRAG_OPTIONS$1, styles: floatingLocalVideoModalStyle(theme, isNarrow), layerProps: { hostId: layerHostId }, maxDragPosition: modalMaxDragPosition, minDragPosition: modalMinDragPosition }, localVideoTile))),
|
5629
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
5630
5639
|
// When we use showCameraSwitcherInLocalPreview it disables dragging to allow keyboard navigation.
|
5631
5640
|
shouldFloatNonDraggableLocalVideo && localParticipant && remoteParticipants.length > 0 && (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileWithControlsContainerStyle(theme, isNarrow), {
|
5632
5641
|
boxShadow: theme.effects.elevation8,
|
@@ -6066,7 +6075,7 @@ const defaultLocalVideoViewOptions = {
|
|
6066
6075
|
* @public
|
6067
6076
|
*/
|
6068
6077
|
const CameraButton = (props) => {
|
6069
|
-
var _a, _b, _c, _d, _e, _f;
|
6078
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
6070
6079
|
const { localVideoViewOptions, onToggleCamera } = props;
|
6071
6080
|
const [waitForCamera, setWaitForCamera] = React.useState(false);
|
6072
6081
|
const localeStrings = useLocale$1().strings.cameraButton;
|
@@ -6098,22 +6107,9 @@ const CameraButton = (props) => {
|
|
6098
6107
|
}), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
|
6099
6108
|
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
6100
6109
|
React__default['default'].createElement(Announcer, { announcementString: announcerString, ariaLive: 'polite' }),
|
6101
|
-
React__default['default'].createElement(ControlBarButton, Object.assign({}, props, { disabled: props.disabled || waitForCamera, onClick: onToggleCamera ? onToggleClick : props.onClick, onRenderOnIcon: (_a = props.onRenderOnIcon) !== null && _a !== void 0 ? _a : onRenderCameraOnIcon, onRenderOffIcon: (_b = props.onRenderOffIcon) !== null && _b !== void 0 ? _b : onRenderCameraOffIcon, strings: strings, labelKey: (_c = props.labelKey) !== null && _c !== void 0 ? _c : 'cameraButtonLabel', menuProps: (_d = props.menuProps) !== null && _d !== void 0 ? _d :
|
6102
|
-
}
|
6103
|
-
|
6104
|
-
var _a;
|
6105
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
6106
|
-
if (props.enableDeviceSelectionMenu) {
|
6107
|
-
return generateDefaultDeviceMenuProps(Object.assign(Object.assign({}, props), { styles: (_a = props.styles) === null || _a === void 0 ? void 0 : _a.menuStyles }), strings);
|
6108
|
-
}
|
6109
|
-
return undefined;
|
6110
|
-
};
|
6111
|
-
const enableDeviceSelectionMenuTrampoline$1 = (props) => {
|
6112
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
6113
|
-
if (props.enableDeviceSelectionMenu) {
|
6114
|
-
return true;
|
6115
|
-
}
|
6116
|
-
return false;
|
6110
|
+
React__default['default'].createElement(ControlBarButton, Object.assign({}, props, { disabled: props.disabled || waitForCamera, onClick: onToggleCamera ? onToggleClick : props.onClick, onRenderOnIcon: (_a = props.onRenderOnIcon) !== null && _a !== void 0 ? _a : onRenderCameraOnIcon, onRenderOffIcon: (_b = props.onRenderOffIcon) !== null && _b !== void 0 ? _b : onRenderCameraOffIcon, strings: strings, labelKey: (_c = props.labelKey) !== null && _c !== void 0 ? _c : 'cameraButtonLabel', menuProps: (_d = props.menuProps) !== null && _d !== void 0 ? _d : (props.enableDeviceSelectionMenu
|
6111
|
+
? generateDefaultDeviceMenuProps(Object.assign(Object.assign({}, props), { styles: (_e = props.styles) === null || _e === void 0 ? void 0 : _e.menuStyles }), strings)
|
6112
|
+
: undefined), menuIconProps: ((_f = props.menuIconProps) !== null && _f !== void 0 ? _f : !props.enableDeviceSelectionMenu) ? { hidden: true } : undefined, split: (_g = props.split) !== null && _g !== void 0 ? _g : props.enableDeviceSelectionMenu, "aria-roledescription": props.enableDeviceSelectionMenu ? strings.cameraButtonSplitRoleDescription : undefined, splitButtonAriaLabel: props.enableDeviceSelectionMenu ? splitButtonAriaString : undefined }))));
|
6117
6113
|
};
|
6118
6114
|
|
6119
6115
|
// Copyright (c) Microsoft Corporation.
|
@@ -6244,7 +6240,7 @@ var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
6244
6240
|
* @public
|
6245
6241
|
*/
|
6246
6242
|
const MicrophoneButton = (props) => {
|
6247
|
-
var _a, _b, _c, _d, _e, _f;
|
6243
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
6248
6244
|
const { onToggleMicrophone } = props;
|
6249
6245
|
const localeStrings = useLocale$1().strings.microphoneButton;
|
6250
6246
|
const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
|
@@ -6274,22 +6270,9 @@ const MicrophoneButton = (props) => {
|
|
6274
6270
|
}), [isMicOn, onToggleMicrophone, toggleAnnouncerString]);
|
6275
6271
|
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
6276
6272
|
React__default['default'].createElement(Announcer, { announcementString: announcerString, ariaLive: 'polite' }),
|
6277
|
-
React__default['default'].createElement(ControlBarButton, Object.assign({}, props, { onClick: props.onToggleMicrophone ? onToggleClick : props.onClick, onRenderOnIcon: (_a = props.onRenderOnIcon) !== null && _a !== void 0 ? _a : onRenderMicOnIcon, onRenderOffIcon: (_b = props.onRenderOffIcon) !== null && _b !== void 0 ? _b : onRenderMicOffIcon, strings: strings, labelKey: (_c = props.labelKey) !== null && _c !== void 0 ? _c : 'microphoneButtonLabel', menuProps: (_d = props.menuProps) !== null && _d !== void 0 ? _d :
|
6278
|
-
}
|
6279
|
-
|
6280
|
-
var _a;
|
6281
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
6282
|
-
if (props.enableDeviceSelectionMenu) {
|
6283
|
-
return generateDefaultDeviceMenuProps(Object.assign(Object.assign({}, props), { styles: (_a = props.styles) === null || _a === void 0 ? void 0 : _a.menuStyles }), strings);
|
6284
|
-
}
|
6285
|
-
return undefined;
|
6286
|
-
};
|
6287
|
-
const enableDeviceSelectionMenuTrampoline = (props) => {
|
6288
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
6289
|
-
if (props.enableDeviceSelectionMenu) {
|
6290
|
-
return true;
|
6291
|
-
}
|
6292
|
-
return false;
|
6273
|
+
React__default['default'].createElement(ControlBarButton, Object.assign({}, props, { onClick: props.onToggleMicrophone ? onToggleClick : props.onClick, onRenderOnIcon: (_a = props.onRenderOnIcon) !== null && _a !== void 0 ? _a : onRenderMicOnIcon, onRenderOffIcon: (_b = props.onRenderOffIcon) !== null && _b !== void 0 ? _b : onRenderMicOffIcon, strings: strings, labelKey: (_c = props.labelKey) !== null && _c !== void 0 ? _c : 'microphoneButtonLabel', menuProps: (_d = props.menuProps) !== null && _d !== void 0 ? _d : (props.enableDeviceSelectionMenu
|
6274
|
+
? generateDefaultDeviceMenuProps(Object.assign(Object.assign({}, props), { styles: (_e = props.styles) === null || _e === void 0 ? void 0 : _e.menuStyles }), strings)
|
6275
|
+
: undefined), menuIconProps: ((_f = props.menuIconProps) !== null && _f !== void 0 ? _f : !props.enableDeviceSelectionMenu) ? { hidden: true } : undefined, split: (_g = props.split) !== null && _g !== void 0 ? _g : props.enableDeviceSelectionMenu, "aria-roledescription": props.enableDeviceSelectionMenu ? strings.microphoneButtonSplitRoleDescription : undefined, splitButtonAriaLabel: props.enableDeviceSelectionMenu ? splitButtonAriaString : undefined }))));
|
6293
6276
|
};
|
6294
6277
|
|
6295
6278
|
// Copyright (c) Microsoft Corporation.
|
@@ -7573,7 +7556,7 @@ const messageThreadSelector = reselect.createSelector([getUserId, getChatMessage
|
|
7573
7556
|
// TODO: Add support for topicUpdated system messages in MessageThread component.
|
7574
7557
|
// message.type === ACSKnownMessageType.topicUpdated ||
|
7575
7558
|
message.clientMessageId !== undefined)
|
7576
|
-
.filter(
|
7559
|
+
.filter(messagesWithContentOrFileSharingMetadata)
|
7577
7560
|
.map((message) => {
|
7578
7561
|
var _a;
|
7579
7562
|
return memoizedFn((_a = message.id) !== null && _a !== void 0 ? _a : message.clientMessageId, message, userId, message.createdOn <= latestReadTime, isLargeGroup);
|
@@ -7593,6 +7576,16 @@ const sanitizedMessageContentType = (type) => {
|
|
7593
7576
|
? lowerCaseType
|
7594
7577
|
: 'unknown';
|
7595
7578
|
};
|
7579
|
+
const messagesWithContentOrFileSharingMetadata = (message) => {
|
7580
|
+
var _a, _b;
|
7581
|
+
if (message.deletedOn) {
|
7582
|
+
return false;
|
7583
|
+
}
|
7584
|
+
if ((_a = message.metadata) === null || _a === void 0 ? void 0 : _a['fileSharingMetadata']) {
|
7585
|
+
return true;
|
7586
|
+
}
|
7587
|
+
return !!(message.content && ((_b = message.content) === null || _b === void 0 ? void 0 : _b.message) !== '');
|
7588
|
+
};
|
7596
7589
|
|
7597
7590
|
// Copyright (c) Microsoft Corporation.
|
7598
7591
|
const filterTypingIndicators = (typingIndicators, userId) => {
|
@@ -10657,7 +10650,8 @@ class ProxyChatThreadClient {
|
|
10657
10650
|
case 'sendMessage': {
|
10658
10651
|
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$b(this, void 0, void 0, function* () {
|
10659
10652
|
// Retry logic?
|
10660
|
-
const
|
10653
|
+
const [request, options] = args;
|
10654
|
+
const { content } = request;
|
10661
10655
|
const clientMessageId = nanoid.nanoid(); // Generate a local short uuid for message
|
10662
10656
|
const newMessage = {
|
10663
10657
|
content: { message: content },
|
@@ -10669,7 +10663,8 @@ class ProxyChatThreadClient {
|
|
10669
10663
|
createdOn: new Date(),
|
10670
10664
|
status: 'sending',
|
10671
10665
|
senderDisplayName: this._context.getState().displayName,
|
10672
|
-
sender: this._context.getState().userId
|
10666
|
+
sender: this._context.getState().userId,
|
10667
|
+
metadata: options === null || options === void 0 ? void 0 : options.metadata
|
10673
10668
|
};
|
10674
10669
|
this._context.setChatMessage(chatThreadClient.threadId, newMessage);
|
10675
10670
|
let result = undefined;
|
@@ -10967,9 +10962,7 @@ const coffeeIconStyle = {
|
|
10967
10962
|
* @public
|
10968
10963
|
*/
|
10969
10964
|
const COMPOSITE_ONLY_ICONS = {
|
10970
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10971
10965
|
ChevronLeft: React__default['default'].createElement(react.FontIcon, { iconName: "ChevronLeft" }),
|
10972
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10973
10966
|
Link: React__default['default'].createElement(react.FontIcon, { iconName: "Link" }),
|
10974
10967
|
LobbyScreenConnectingToCall: React__default['default'].createElement(CoffeeIcon, null),
|
10975
10968
|
LobbyScreenWaitingToBeAdmitted: React__default['default'].createElement(CoffeeIcon, null),
|
@@ -10977,23 +10970,14 @@ const COMPOSITE_ONLY_ICONS = {
|
|
10977
10970
|
LocalDeviceSettingsMic: React__default['default'].createElement(reactIcons.MicOn20Filled, null),
|
10978
10971
|
LocalDeviceSettingsSpeaker: React__default['default'].createElement(reactIcons.Speaker220Filled, null),
|
10979
10972
|
LocalPreviewPlaceholder: React__default['default'].createElement(reactIcons.VideoOff20Filled, null),
|
10980
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
10981
10973
|
LocalCameraSwitch: React__default['default'].createElement(reactIcons.CameraSwitch24Regular, null),
|
10982
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10983
10974
|
ControlBarChatButtonActive: React__default['default'].createElement(reactIcons.Chat20Filled, null),
|
10984
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10985
10975
|
ControlBarChatButtonInactive: React__default['default'].createElement(reactIcons.Chat20Regular, null),
|
10986
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10987
10976
|
ControlBarPeopleButton: React__default['default'].createElement(reactIcons.People20Regular, null),
|
10988
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10989
10977
|
MoreDrawerMicrophones: React__default['default'].createElement(reactIcons.MicOn20Regular, null),
|
10990
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10991
10978
|
MoreDrawerPeople: React__default['default'].createElement(reactIcons.People20Regular, null),
|
10992
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10993
10979
|
MoreDrawerSpeakers: React__default['default'].createElement(reactIcons.Speaker220Regular, null),
|
10994
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10995
10980
|
MoreDrawerSelectedMicrophone: React__default['default'].createElement(reactIcons.MicOn20Filled, null),
|
10996
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
10997
10981
|
MoreDrawerSelectedSpeaker: React__default['default'].createElement(reactIcons.Speaker220Filled, null),
|
10998
10982
|
Muted: React__default['default'].createElement(reactIcons.MicOff20Filled, null),
|
10999
10983
|
NetworkReconnectIcon: React__default['default'].createElement(reactIcons.CallMissed20Filled, null),
|
@@ -12982,9 +12966,7 @@ const concatButtonBaseStyles = (...styles) => {
|
|
12982
12966
|
const Camera = (props) => {
|
12983
12967
|
const cameraButtonProps = usePropsFor$1(CameraButton);
|
12984
12968
|
const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
|
12985
|
-
return (React__default['default'].createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-camera-button" }, cameraButtonProps, { showLabel: props.displayType !== 'compact', styles: styles,
|
12986
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
12987
|
-
enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection })));
|
12969
|
+
return (React__default['default'].createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-camera-button" }, cameraButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection })));
|
12988
12970
|
};
|
12989
12971
|
|
12990
12972
|
// Copyright (c) Microsoft Corporation.
|
@@ -13131,9 +13113,7 @@ const Microphone = (props) => {
|
|
13131
13113
|
: {};
|
13132
13114
|
const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
|
13133
13115
|
// tab focus on MicrophoneButton on page load
|
13134
|
-
return (React__default['default'].createElement(MicrophoneButton, Object.assign({ autoFocus: true, "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', styles: styles }, microphoneButtonStrings, {
|
13135
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(control-bar-split-buttons) */
|
13136
|
-
enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection })));
|
13116
|
+
return (React__default['default'].createElement(MicrophoneButton, Object.assign({ autoFocus: true, "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', styles: styles }, microphoneButtonStrings, { enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection })));
|
13137
13117
|
};
|
13138
13118
|
|
13139
13119
|
// Copyright (c) Microsoft Corporation.
|
@@ -13502,31 +13482,17 @@ const remoteVideoViewOptions$1 = {
|
|
13502
13482
|
*/
|
13503
13483
|
const MediaGallery = (props) => {
|
13504
13484
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
13505
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
13506
13485
|
const cameraSwitcherCameras = useSelector$1(localVideoCameraCycleButtonSelector);
|
13507
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
13508
13486
|
const cameraSwitcherCallback = useHandlers();
|
13509
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
13510
13487
|
const cameraSwitcherProps = React.useMemo(() => {
|
13511
13488
|
return Object.assign(Object.assign({}, cameraSwitcherCallback), cameraSwitcherCameras);
|
13512
13489
|
}, [cameraSwitcherCallback, cameraSwitcherCameras]);
|
13513
13490
|
const remoteParticipants = useRemoteParticipantsWithCustomDisplayNames(videoGalleryProps.remoteParticipants, props.onFetchAvatarPersonaData);
|
13514
13491
|
useLocalVideoStartTrigger(!!props.isVideoStreamOn);
|
13515
13492
|
const VideoGalleryMemoized = React.useMemo(() => {
|
13516
|
-
return (React__default['default'].createElement(VideoGallery, Object.assign({}, videoGalleryProps, { remoteParticipants: remoteParticipants, localVideoViewOptions: localVideoViewOptions$3, remoteVideoViewOptions: remoteVideoViewOptions$1, styles: VideoGalleryStyles, layout: "floatingLocalVideo",
|
13517
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
13518
|
-
showCameraSwitcherInLocalPreview: props.isMobile,
|
13519
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
13520
|
-
localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: (userId, options) => (React__default['default'].createElement(react.Stack, { className: react.mergeStyles({ position: 'absolute', height: '100%', width: '100%' }) },
|
13493
|
+
return (React__default['default'].createElement(VideoGallery, Object.assign({}, videoGalleryProps, { remoteParticipants: remoteParticipants, localVideoViewOptions: localVideoViewOptions$3, remoteVideoViewOptions: remoteVideoViewOptions$1, styles: VideoGalleryStyles, layout: "floatingLocalVideo", showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: (userId, options) => (React__default['default'].createElement(react.Stack, { className: react.mergeStyles({ position: 'absolute', height: '100%', width: '100%' }) },
|
13521
13494
|
React__default['default'].createElement(AvatarPersona, Object.assign({ userId: userId }, options, { dataProvider: props.onFetchAvatarPersonaData })))) })));
|
13522
|
-
}, [
|
13523
|
-
videoGalleryProps,
|
13524
|
-
props.isMobile,
|
13525
|
-
props.onFetchAvatarPersonaData,
|
13526
|
-
remoteParticipants,
|
13527
|
-
/* @conditional-compile-remove(call-with-chat-composite) @conditional-compile-remove(local-camera-switcher) */
|
13528
|
-
cameraSwitcherProps
|
13529
|
-
]);
|
13495
|
+
}, [videoGalleryProps, props.isMobile, props.onFetchAvatarPersonaData, remoteParticipants, cameraSwitcherProps]);
|
13530
13496
|
return VideoGalleryMemoized;
|
13531
13497
|
};
|
13532
13498
|
/**
|
@@ -15858,7 +15824,7 @@ const LocalAndRemotePIP = (props) => {
|
|
15858
15824
|
const remoteVideoTile = React.useMemo(() => props.dominantRemoteParticipant &&
|
15859
15825
|
createVideoTile(props.dominantRemoteParticipant.displayName, props.dominantRemoteParticipant.videoStream), [props.dominantRemoteParticipant]);
|
15860
15826
|
const locale = useLocale();
|
15861
|
-
const ariaLabel =
|
15827
|
+
const ariaLabel = locale.strings.callWithChat.pictureInPictureTileAriaLabel;
|
15862
15828
|
const strings = React.useMemo(() => ({
|
15863
15829
|
rootAriaLabel: ariaLabel
|
15864
15830
|
}), [ariaLabel]);
|
@@ -15868,13 +15834,6 @@ const LocalAndRemotePIP = (props) => {
|
|
15868
15834
|
// If we are showing the local participant as the primary tile, show nothing for the secondary tile
|
15869
15835
|
secondaryTile: remoteVideoTile ? localVideoTile : undefined }));
|
15870
15836
|
};
|
15871
|
-
const safeGetArialLabel = (locale) => {
|
15872
|
-
// eslint-disable-next-line prefer-const
|
15873
|
-
let ariaLabel = '';
|
15874
|
-
/* @conditional-compile-remove(call-with-chat-composite) */
|
15875
|
-
ariaLabel = locale.strings.callWithChat.pictureInPictureTileAriaLabel;
|
15876
|
-
return ariaLabel;
|
15877
|
-
};
|
15878
15837
|
const localVideoViewOptions = {
|
15879
15838
|
scalingMode: 'Crop',
|
15880
15839
|
isMirrored: true
|
@@ -16077,17 +16036,13 @@ const PeoplePaneContent = (props) => {
|
|
16077
16036
|
return (React__default['default'].createElement(react.Stack, { verticalFill: true, styles: peoplePaneContainerStyle, tokens: peoplePaneContainerTokens },
|
16078
16037
|
React__default['default'].createElement(react.Stack.Item, { grow: true, styles: participantListContainerStyles }, participantList),
|
16079
16038
|
inviteLink && (React__default['default'].createElement(react.Stack.Item, { styles: copyLinkButtonContainerStyles },
|
16080
|
-
React__default['default'].createElement(react.PrimaryButton, { onClick: () => copy__default['default'](inviteLink), styles: copyLinkButtonStylesThemed, onRenderIcon: () => React__default['default'].createElement(
|
16039
|
+
React__default['default'].createElement(react.PrimaryButton, { onClick: () => copy__default['default'](inviteLink), styles: copyLinkButtonStylesThemed, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), text: strings.copyInviteLinkButtonLabel })))));
|
16081
16040
|
}
|
16082
16041
|
return (React__default['default'].createElement(react.Stack, { tokens: peoplePaneContainerTokens },
|
16083
16042
|
inviteLink && (React__default['default'].createElement(react.Stack, { styles: copyLinkButtonStackStyles },
|
16084
|
-
React__default['default'].createElement(react.DefaultButton, { text: strings.copyInviteLinkButtonLabel, onRenderIcon: () => React__default['default'].createElement(
|
16043
|
+
React__default['default'].createElement(react.DefaultButton, { text: strings.copyInviteLinkButtonLabel, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), onClick: () => copy__default['default'](inviteLink), styles: copyLinkButtonStylesThemed }))),
|
16085
16044
|
participantList));
|
16086
16045
|
};
|
16087
|
-
const LinkIconTrampoline = () => {
|
16088
|
-
// @conditional-compile-remove(call-with-chat-composite)
|
16089
|
-
return React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles });
|
16090
|
-
};
|
16091
16046
|
/**
|
16092
16047
|
* In a CallWithChat when a participant is removed, we must remove them from both
|
16093
16048
|
* the call and the chat thread.
|
@@ -16222,14 +16177,10 @@ const TabHeader = (props) => {
|
|
16222
16177
|
}, [theme, haveMultipleTabs]);
|
16223
16178
|
const strings = useCallWithChatCompositeStrings();
|
16224
16179
|
return (React__default['default'].createElement(react.Stack, { horizontal: true, grow: true, styles: mobilePaneControlBarStyle },
|
16225
|
-
React__default['default'].createElement(react.DefaultButton, { ariaLabel: strings.returnToCallButtonAriaLabel, ariaDescription: strings.returnToCallButtonAriaDescription, onClick: props.onClose, styles: mobilePaneBackButtonStyles, onRenderIcon: () => React__default['default'].createElement(
|
16180
|
+
React__default['default'].createElement(react.DefaultButton, { ariaLabel: strings.returnToCallButtonAriaLabel, ariaDescription: strings.returnToCallButtonAriaDescription, onClick: props.onClose, styles: mobilePaneBackButtonStyles, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "ChevronLeft" }) }),
|
16226
16181
|
React__default['default'].createElement(react.Stack.Item, { grow: true }, props.onChatButtonClicked && (React__default['default'].createElement(react.DefaultButton, { onClick: props.onChatButtonClicked, styles: mobilePaneButtonStylesThemed, checked: props.activeTab === 'chat', role: 'tab' }, strings.chatButtonLabel))),
|
16227
16182
|
React__default['default'].createElement(react.Stack.Item, { grow: true }, props.onPeopleButtonClicked && (React__default['default'].createElement(react.DefaultButton, { onClick: props.onPeopleButtonClicked, styles: mobilePaneButtonStylesThemed, checked: props.activeTab === 'people', role: 'tab' }, strings.peopleButtonLabel))),
|
16228
|
-
React__default['default'].createElement(react.DefaultButton, { styles: mobilePaneHiddenIconStyles, onRenderIcon: () => React__default['default'].createElement(
|
16229
|
-
};
|
16230
|
-
const ChevronLeftIconTrampoline = () => {
|
16231
|
-
// @conditional-compile-remove(call-with-chat-composite)
|
16232
|
-
return React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "ChevronLeft" });
|
16183
|
+
React__default['default'].createElement(react.DefaultButton, { styles: mobilePaneHiddenIconStyles, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "ChevronLeft" }) })));
|
16233
16184
|
};
|
16234
16185
|
|
16235
16186
|
// Copyright (c) Microsoft Corporation.
|