@azure/communication-react 1.12.1-alpha-202401230013 → 1.12.1-alpha-202401250013
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 +39 -5
- package/dist/dist-cjs/communication-react/index.js +769 -494
- 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/ChatMessageComponentAsEditBox.js +2 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +9 -5
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +5 -9
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileUploadCards.d.ts +32 -1
- package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +19 -0
- package/dist/dist-esm/react-components/src/components/InputBoxButton.js +32 -0
- package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -17
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +3 -29
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.d.ts +19 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.js +13 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.d.ts +34 -1
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.js +45 -3
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBoxErrors.d.ts +15 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBoxErrors.js +18 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBoxErrors.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.d.ts +18 -0
- package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.js +40 -0
- package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -32
- package/dist/dist-esm/react-components/src/components/SendBox.js +33 -30
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -17
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +1 -28
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +2 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.d.ts +13 -0
- package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js +30 -0
- package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +0 -16
- package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +0 -32
- package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +5 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +16 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +8 -2
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +13 -7
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +10 -0
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +18 -0
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +20 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +5 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +65 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.d.ts +26 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +66 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js +18 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +7 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +13 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +30 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +22 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +40 -18
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.d.ts +18 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +41 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +6 -0
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +5 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +5 -1
@@ -14,6 +14,9 @@ var textareaCaretTs = require('textarea-caret-ts');
|
|
14
14
|
var reactComponents = require('@fluentui/react-components');
|
15
15
|
var useDebounce = require('use-debounce');
|
16
16
|
var reactFileTypeIcons = require('@fluentui/react-file-type-icons');
|
17
|
+
require('roosterjs-editor-plugins');
|
18
|
+
require('roosterjs-editor-core');
|
19
|
+
require('roosterjs-react');
|
17
20
|
var uuid = require('uuid');
|
18
21
|
var reactChat = require('@fluentui-contrib/react-chat');
|
19
22
|
var react$1 = require('@griffel/react');
|
@@ -170,7 +173,7 @@ function getDefaultExportFromCjs (x) {
|
|
170
173
|
// Copyright (c) Microsoft Corporation.
|
171
174
|
// Licensed under the MIT License.
|
172
175
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
173
|
-
var telemetryVersion = '1.12.1-alpha-
|
176
|
+
var telemetryVersion = '1.12.1-alpha-202401250013';
|
174
177
|
|
175
178
|
|
176
179
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -522,7 +525,7 @@ const getSupportedSpokenLanguages = (state, props) => {
|
|
522
525
|
|
523
526
|
// Copyright (c) Microsoft Corporation.
|
524
527
|
// Licensed under the MIT License.
|
525
|
-
var __awaiter$
|
528
|
+
var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
526
529
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
527
530
|
return new (P || (P = Promise))(function (resolve, reject) {
|
528
531
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -561,7 +564,7 @@ const _isPreviewOn = (deviceManager) => {
|
|
561
564
|
*
|
562
565
|
* @private
|
563
566
|
*/
|
564
|
-
const disposeAllLocalPreviewViews = (callClient) => __awaiter$
|
567
|
+
const disposeAllLocalPreviewViews = (callClient) => __awaiter$O(void 0, void 0, void 0, function* () {
|
565
568
|
const unparentedViews = callClient.getState().deviceManager.unparentedViews;
|
566
569
|
for (const view of unparentedViews) {
|
567
570
|
yield callClient.disposeView(undefined, undefined, view);
|
@@ -769,7 +772,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
|
|
769
772
|
|
770
773
|
// Copyright (c) Microsoft Corporation.
|
771
774
|
// Licensed under the MIT License.
|
772
|
-
var __awaiter$
|
775
|
+
var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
773
776
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
774
777
|
return new (P || (P = Promise))(function (resolve, reject) {
|
775
778
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -790,7 +793,7 @@ const areStreamsEqual = (prevStream, newStream) => {
|
|
790
793
|
* @private
|
791
794
|
*/
|
792
795
|
const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager, call, options) => {
|
793
|
-
const onStartLocalVideo = () => __awaiter$
|
796
|
+
const onStartLocalVideo = () => __awaiter$N(void 0, void 0, void 0, function* () {
|
794
797
|
// Before the call object creates a stream, dispose of any local preview streams.
|
795
798
|
// @TODO: is there any way to parent the unparented view to the call object instead
|
796
799
|
// of disposing and creating a new stream?
|
@@ -810,7 +813,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
810
813
|
yield call.startVideo(stream);
|
811
814
|
}
|
812
815
|
});
|
813
|
-
const onStopLocalVideo = (stream) => __awaiter$
|
816
|
+
const onStopLocalVideo = (stream) => __awaiter$N(void 0, void 0, void 0, function* () {
|
814
817
|
const callId = call === null || call === void 0 ? void 0 : call.id;
|
815
818
|
if (!callId) {
|
816
819
|
return;
|
@@ -819,7 +822,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
819
822
|
yield call.stopVideo(stream);
|
820
823
|
}
|
821
824
|
});
|
822
|
-
const onToggleCamera = (options) => __awaiter$
|
825
|
+
const onToggleCamera = (options) => __awaiter$N(void 0, void 0, void 0, function* () {
|
823
826
|
const previewOn = _isPreviewOn(callClient.getState().deviceManager);
|
824
827
|
// the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
|
825
828
|
// The root cause of the issue is caused by never transitioning the unparented view to the
|
@@ -876,19 +879,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
876
879
|
}
|
877
880
|
}
|
878
881
|
});
|
879
|
-
const onSelectMicrophone = (device) => __awaiter$
|
882
|
+
const onSelectMicrophone = (device) => __awaiter$N(void 0, void 0, void 0, function* () {
|
880
883
|
if (!deviceManager) {
|
881
884
|
return;
|
882
885
|
}
|
883
886
|
return deviceManager.selectMicrophone(device);
|
884
887
|
});
|
885
|
-
const onSelectSpeaker = (device) => __awaiter$
|
888
|
+
const onSelectSpeaker = (device) => __awaiter$N(void 0, void 0, void 0, function* () {
|
886
889
|
if (!deviceManager) {
|
887
890
|
return;
|
888
891
|
}
|
889
892
|
return deviceManager.selectSpeaker(device);
|
890
893
|
});
|
891
|
-
const onSelectCamera = (device, options) => __awaiter$
|
894
|
+
const onSelectCamera = (device, options) => __awaiter$N(void 0, void 0, void 0, function* () {
|
892
895
|
if (!deviceManager) {
|
893
896
|
return;
|
894
897
|
}
|
@@ -919,11 +922,11 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
919
922
|
}
|
920
923
|
});
|
921
924
|
/* @conditional-compile-remove(raise-hand) */
|
922
|
-
const onRaiseHand = () => __awaiter$
|
925
|
+
const onRaiseHand = () => __awaiter$N(void 0, void 0, void 0, function* () { var _a; return yield ((_a = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _a === void 0 ? void 0 : _a.raiseHand()); });
|
923
926
|
/* @conditional-compile-remove(raise-hand) */
|
924
|
-
const onLowerHand = () => __awaiter$
|
927
|
+
const onLowerHand = () => __awaiter$N(void 0, void 0, void 0, function* () { var _b; return yield ((_b = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _b === void 0 ? void 0 : _b.lowerHand()); });
|
925
928
|
/* @conditional-compile-remove(raise-hand) */
|
926
|
-
const onToggleRaiseHand = () => __awaiter$
|
929
|
+
const onToggleRaiseHand = () => __awaiter$N(void 0, void 0, void 0, function* () {
|
927
930
|
const raiseHandFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand);
|
928
931
|
const localUserId = callClient.getState().userId;
|
929
932
|
const isLocalRaisedHand = raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.getRaisedHands().find((publishedState) => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));
|
@@ -935,7 +938,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
935
938
|
}
|
936
939
|
});
|
937
940
|
/* @conditional-compile-remove(reaction) */
|
938
|
-
const onReactionClicked = (reaction) => __awaiter$
|
941
|
+
const onReactionClicked = (reaction) => __awaiter$N(void 0, void 0, void 0, function* () {
|
939
942
|
var _c;
|
940
943
|
if (reaction === 'like' ||
|
941
944
|
reaction === 'applause' ||
|
@@ -949,19 +952,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
949
952
|
}
|
950
953
|
return;
|
951
954
|
});
|
952
|
-
const onToggleMicrophone = () => __awaiter$
|
955
|
+
const onToggleMicrophone = () => __awaiter$N(void 0, void 0, void 0, function* () {
|
953
956
|
if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
|
954
957
|
throw new Error(`Please invoke onToggleMicrophone after call is started`);
|
955
958
|
}
|
956
959
|
return call.isMuted ? yield call.unmute() : yield call.mute();
|
957
960
|
});
|
958
|
-
const onStartScreenShare = () => __awaiter$
|
959
|
-
const onStopScreenShare = () => __awaiter$
|
960
|
-
const onToggleScreenShare = () => __awaiter$
|
961
|
-
const onHangUp = (forEveryone) => __awaiter$
|
961
|
+
const onStartScreenShare = () => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
|
962
|
+
const onStopScreenShare = () => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
|
963
|
+
const onToggleScreenShare = () => __awaiter$N(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
|
964
|
+
const onHangUp = (forEveryone) => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
|
962
965
|
/* @conditional-compile-remove(PSTN-calls) */
|
963
|
-
const onToggleHold = () => __awaiter$
|
964
|
-
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$
|
966
|
+
const onToggleHold = () => __awaiter$N(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.state) === 'LocalHold' ? yield (call === null || call === void 0 ? void 0 : call.resume()) : yield (call === null || call === void 0 ? void 0 : call.hold()); });
|
967
|
+
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$N(void 0, void 0, void 0, function* () {
|
965
968
|
var _d;
|
966
969
|
if (!call || call.localVideoStreams.length === 0) {
|
967
970
|
return;
|
@@ -977,7 +980,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
977
980
|
const { view } = (_d = (yield callClient.createView(call.id, undefined, localStream, options))) !== null && _d !== void 0 ? _d : {};
|
978
981
|
return view ? { view } : undefined;
|
979
982
|
});
|
980
|
-
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$
|
983
|
+
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$N(void 0, void 0, void 0, function* () {
|
981
984
|
if (!call) {
|
982
985
|
return;
|
983
986
|
}
|
@@ -1008,7 +1011,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1008
1011
|
}
|
1009
1012
|
return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
|
1010
1013
|
});
|
1011
|
-
const onDisposeRemoteStreamView = (userId) => __awaiter$
|
1014
|
+
const onDisposeRemoteStreamView = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1012
1015
|
if (!call) {
|
1013
1016
|
return;
|
1014
1017
|
}
|
@@ -1029,7 +1032,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1029
1032
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
1030
1033
|
}
|
1031
1034
|
});
|
1032
|
-
const onDisposeRemoteVideoStreamView = (userId) => __awaiter$
|
1035
|
+
const onDisposeRemoteVideoStreamView = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1033
1036
|
if (!call) {
|
1034
1037
|
return;
|
1035
1038
|
}
|
@@ -1046,7 +1049,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1046
1049
|
callClient.disposeView(call.id, participant.identifier, remoteVideoStream);
|
1047
1050
|
}
|
1048
1051
|
});
|
1049
|
-
const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$
|
1052
|
+
const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1050
1053
|
if (!call) {
|
1051
1054
|
return;
|
1052
1055
|
}
|
@@ -1063,7 +1066,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1063
1066
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
1064
1067
|
}
|
1065
1068
|
});
|
1066
|
-
const onDisposeLocalStreamView = () => __awaiter$
|
1069
|
+
const onDisposeLocalStreamView = () => __awaiter$N(void 0, void 0, void 0, function* () {
|
1067
1070
|
// If the user is currently in a call, dispose of the local stream view attached to that call.
|
1068
1071
|
const callState = call && callClient.getState().calls[call.id];
|
1069
1072
|
const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
|
@@ -1076,18 +1079,18 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1076
1079
|
yield disposeAllLocalPreviewViews(callClient);
|
1077
1080
|
});
|
1078
1081
|
/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
|
1079
|
-
const onSendDtmfTone = (dtmfTone) => __awaiter$
|
1082
|
+
const onSendDtmfTone = (dtmfTone) => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
|
1080
1083
|
const notImplemented = () => {
|
1081
1084
|
throw new Error('Not implemented, cannot call a method from an abstract object');
|
1082
1085
|
};
|
1083
1086
|
/* @conditional-compile-remove(call-readiness) */
|
1084
|
-
const askDevicePermission = (constrain) => __awaiter$
|
1087
|
+
const askDevicePermission = (constrain) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1085
1088
|
if (deviceManager) {
|
1086
1089
|
yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
|
1087
1090
|
}
|
1088
1091
|
});
|
1089
1092
|
/* @conditional-compile-remove(video-background-effects) */
|
1090
|
-
const onRemoveVideoBackgroundEffects = () => __awaiter$
|
1093
|
+
const onRemoveVideoBackgroundEffects = () => __awaiter$N(void 0, void 0, void 0, function* () {
|
1091
1094
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
1092
1095
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
1093
1096
|
if (stream) {
|
@@ -1100,7 +1103,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1100
1103
|
}
|
1101
1104
|
});
|
1102
1105
|
/* @conditional-compile-remove(video-background-effects) */
|
1103
|
-
const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$
|
1106
|
+
const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1104
1107
|
var _e;
|
1105
1108
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
1106
1109
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
@@ -1114,7 +1117,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1114
1117
|
}
|
1115
1118
|
});
|
1116
1119
|
/* @conditional-compile-remove(video-background-effects) */
|
1117
|
-
const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$
|
1120
|
+
const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1118
1121
|
var _f;
|
1119
1122
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
1120
1123
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
@@ -1128,34 +1131,34 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1128
1131
|
}
|
1129
1132
|
});
|
1130
1133
|
/* @conditional-compile-remove(close-captions) */
|
1131
|
-
const onStartCaptions = (options) => __awaiter$
|
1134
|
+
const onStartCaptions = (options) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1132
1135
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1133
1136
|
yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.startCaptions(options));
|
1134
1137
|
});
|
1135
1138
|
/* @conditional-compile-remove(close-captions) */
|
1136
|
-
const onStopCaptions = () => __awaiter$
|
1139
|
+
const onStopCaptions = () => __awaiter$N(void 0, void 0, void 0, function* () {
|
1137
1140
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1138
1141
|
yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.stopCaptions());
|
1139
1142
|
});
|
1140
1143
|
/* @conditional-compile-remove(close-captions) */
|
1141
|
-
const onSetSpokenLanguage = (language) => __awaiter$
|
1144
|
+
const onSetSpokenLanguage = (language) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1142
1145
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1143
1146
|
yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.setSpokenLanguage(language));
|
1144
1147
|
});
|
1145
1148
|
/* @conditional-compile-remove(close-captions) */
|
1146
|
-
const onSetCaptionLanguage = (language) => __awaiter$
|
1149
|
+
const onSetCaptionLanguage = (language) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1147
1150
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1148
1151
|
yield captionsFeature.setCaptionLanguage(language);
|
1149
1152
|
});
|
1150
1153
|
/* @conditional-compile-remove(end-of-call-survey) */
|
1151
|
-
const onSubmitSurvey = (survey) => __awaiter$
|
1154
|
+
const onSubmitSurvey = (survey) => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
|
1152
1155
|
/* @conditional-compile-remove(spotlight) */
|
1153
|
-
const onStartSpotlight = (userId) => __awaiter$
|
1156
|
+
const onStartSpotlight = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1154
1157
|
const participant = _toCommunicationIdentifier(userId);
|
1155
1158
|
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight([participant]));
|
1156
1159
|
});
|
1157
1160
|
/* @conditional-compile-remove(spotlight) */
|
1158
|
-
const onStopSpotlight = (userId) => __awaiter$
|
1161
|
+
const onStopSpotlight = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
|
1159
1162
|
const participant = _toCommunicationIdentifier(userId);
|
1160
1163
|
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight([participant]));
|
1161
1164
|
});
|
@@ -1218,7 +1221,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1218
1221
|
|
1219
1222
|
// Copyright (c) Microsoft Corporation.
|
1220
1223
|
// Licensed under the MIT License.
|
1221
|
-
var __awaiter$
|
1224
|
+
var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1222
1225
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1223
1226
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1224
1227
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1246,7 +1249,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
|
|
1246
1249
|
return callAgent === null || callAgent === void 0 ? void 0 : callAgent.startCall(participants, options);
|
1247
1250
|
},
|
1248
1251
|
/* @conditional-compile-remove(PSTN-calls) */
|
1249
|
-
onAddParticipant: (userId, options) => __awaiter$
|
1252
|
+
onAddParticipant: (userId, options) => __awaiter$M(void 0, void 0, void 0, function* () {
|
1250
1253
|
const participant = _toCommunicationIdentifier(userId);
|
1251
1254
|
if (communicationCommon.isPhoneNumberIdentifier(participant)) {
|
1252
1255
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
|
@@ -1254,7 +1257,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
|
|
1254
1257
|
else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
|
1255
1258
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
1256
1259
|
}
|
1257
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
1260
|
+
}), onRemoveParticipant: (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
|
1258
1261
|
const participant = _toCommunicationIdentifier(userId);
|
1259
1262
|
yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
|
1260
1263
|
}) });
|
@@ -1262,7 +1265,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
|
|
1262
1265
|
|
1263
1266
|
// Copyright (c) Microsoft Corporation.
|
1264
1267
|
// Licensed under the MIT License.
|
1265
|
-
var __awaiter$
|
1268
|
+
var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1266
1269
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1267
1270
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1268
1271
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1294,7 +1297,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
|
|
1294
1297
|
},
|
1295
1298
|
/* @conditional-compile-remove(teams-identity-support) */
|
1296
1299
|
/* @conditional-compile-remove(PSTN-calls) */
|
1297
|
-
onAddParticipant: (userId, options) => __awaiter$
|
1300
|
+
onAddParticipant: (userId, options) => __awaiter$L(void 0, void 0, void 0, function* () {
|
1298
1301
|
const participant = _toCommunicationIdentifier(userId);
|
1299
1302
|
/* @conditional-compile-remove(teams-identity-support) */
|
1300
1303
|
const threadId = options === null || options === void 0 ? void 0 : options.threadId;
|
@@ -1310,7 +1313,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
|
|
1310
1313
|
}
|
1311
1314
|
/* @conditional-compile-remove(teams-identity-support) */
|
1312
1315
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
1313
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
1316
|
+
}), onRemoveParticipant: (userId) => __awaiter$L(void 0, void 0, void 0, function* () {
|
1314
1317
|
const participant = _toCommunicationIdentifier(userId);
|
1315
1318
|
if (communicationCommon.isCommunicationUserIdentifier(participant)) {
|
1316
1319
|
throw new Error('CommunicationIdentifier in Teams call is not supported!');
|
@@ -1401,7 +1404,7 @@ const getCaptionsSpeakerIdentifier = (captions) => {
|
|
1401
1404
|
|
1402
1405
|
// Copyright (c) Microsoft Corporation.
|
1403
1406
|
// Licensed under the MIT License.
|
1404
|
-
var __awaiter$
|
1407
|
+
var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1405
1408
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1406
1409
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1407
1410
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1450,13 +1453,13 @@ class ProxyDeviceManager {
|
|
1450
1453
|
this.selectCamera = (videoDeviceInfo) => {
|
1451
1454
|
this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
|
1452
1455
|
};
|
1453
|
-
this.videoDevicesUpdated = () => __awaiter$
|
1456
|
+
this.videoDevicesUpdated = () => __awaiter$K(this, void 0, void 0, function* () {
|
1454
1457
|
// Device Manager always has a camera with '' name if there are no real camera devices available.
|
1455
1458
|
// We don't want to show that in the UI.
|
1456
1459
|
const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
|
1457
1460
|
this._context.setDeviceManagerCameras(dedupeById(realCameras));
|
1458
1461
|
});
|
1459
|
-
this.audioDevicesUpdated = () => __awaiter$
|
1462
|
+
this.audioDevicesUpdated = () => __awaiter$K(this, void 0, void 0, function* () {
|
1460
1463
|
this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
|
1461
1464
|
this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
|
1462
1465
|
});
|
@@ -1857,7 +1860,7 @@ function convertFromSDKToRaisedHandState(raisedHand) {
|
|
1857
1860
|
|
1858
1861
|
// Copyright (c) Microsoft Corporation.
|
1859
1862
|
// Licensed under the MIT License.
|
1860
|
-
var __awaiter$
|
1863
|
+
var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1861
1864
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1862
1865
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1863
1866
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2676,7 +2679,7 @@ let CallContext$2 = class CallContext {
|
|
2676
2679
|
* @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
|
2677
2680
|
*/
|
2678
2681
|
withAsyncErrorTeedToState(action, target) {
|
2679
|
-
return (...args) => __awaiter$
|
2682
|
+
return (...args) => __awaiter$J(this, void 0, void 0, function* () {
|
2680
2683
|
try {
|
2681
2684
|
return yield action(...args);
|
2682
2685
|
}
|
@@ -3130,7 +3133,7 @@ function _logStreamEvent(eventName, streamLogInfo, error) {
|
|
3130
3133
|
|
3131
3134
|
// Copyright (c) Microsoft Corporation.
|
3132
3135
|
// Licensed under the MIT License.
|
3133
|
-
var __awaiter$
|
3136
|
+
var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3134
3137
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3135
3138
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3136
3139
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3140,7 +3143,7 @@ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
3140
3143
|
});
|
3141
3144
|
};
|
3142
3145
|
function createViewVideo(context, internalContext, callId, stream, participantId, options) {
|
3143
|
-
return __awaiter$
|
3146
|
+
return __awaiter$I(this, void 0, void 0, function* () {
|
3144
3147
|
// we can only have 3 types of createView
|
3145
3148
|
let streamEventType;
|
3146
3149
|
// we will reuse these for local as well but we need to make sure the remote stream is passed in like before.
|
@@ -3269,7 +3272,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
|
|
3269
3272
|
});
|
3270
3273
|
}
|
3271
3274
|
function createViewUnparentedVideo(context, internalContext, stream, options) {
|
3272
|
-
return __awaiter$
|
3275
|
+
return __awaiter$I(this, void 0, void 0, function* () {
|
3273
3276
|
const renderInfo = internalContext.getUnparentedRenderInfo(stream);
|
3274
3277
|
if (renderInfo && renderInfo.status === 'Rendered') {
|
3275
3278
|
console.warn('Unparented LocalVideoStream is already rendered');
|
@@ -3438,7 +3441,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
|
|
3438
3441
|
// Render LocalVideoStream that is not part of a Call
|
3439
3442
|
// Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).
|
3440
3443
|
// We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
|
3441
|
-
return context.withAsyncErrorTeedToState(() => __awaiter$
|
3444
|
+
return context.withAsyncErrorTeedToState(() => __awaiter$I(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
|
3442
3445
|
}
|
3443
3446
|
else {
|
3444
3447
|
_logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
|
@@ -4048,7 +4051,7 @@ class CallSubscriber {
|
|
4048
4051
|
|
4049
4052
|
// Copyright (c) Microsoft Corporation.
|
4050
4053
|
// Licensed under the MIT License.
|
4051
|
-
var __awaiter$
|
4054
|
+
var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4052
4055
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4053
4056
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4054
4057
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4068,14 +4071,14 @@ class ProxyIncomingCall {
|
|
4068
4071
|
switch (prop) {
|
4069
4072
|
case 'accept': {
|
4070
4073
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4071
|
-
return __awaiter$
|
4074
|
+
return __awaiter$H(this, void 0, void 0, function* () {
|
4072
4075
|
return yield target.accept(...args);
|
4073
4076
|
});
|
4074
4077
|
}, 'IncomingCall.accept');
|
4075
4078
|
}
|
4076
4079
|
case 'reject': {
|
4077
4080
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4078
|
-
return __awaiter$
|
4081
|
+
return __awaiter$H(this, void 0, void 0, function* () {
|
4079
4082
|
return yield target.reject(...args);
|
4080
4083
|
});
|
4081
4084
|
}, 'IncomingCall.reject');
|
@@ -4316,7 +4319,7 @@ const clearCallRelatedState = (context, internalContext) => {
|
|
4316
4319
|
|
4317
4320
|
// Copyright (c) Microsoft Corporation.
|
4318
4321
|
// Licensed under the MIT License.
|
4319
|
-
var __awaiter$
|
4322
|
+
var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4320
4323
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4321
4324
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4322
4325
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4342,56 +4345,56 @@ class ProxyCallCommon {
|
|
4342
4345
|
switch (prop) {
|
4343
4346
|
case 'mute': {
|
4344
4347
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4345
|
-
return __awaiter$
|
4348
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4346
4349
|
return yield target.mute(...args);
|
4347
4350
|
});
|
4348
4351
|
}, 'Call.mute');
|
4349
4352
|
}
|
4350
4353
|
case 'unmute': {
|
4351
4354
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4352
|
-
return __awaiter$
|
4355
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4353
4356
|
return yield target.unmute(...args);
|
4354
4357
|
});
|
4355
4358
|
}, 'Call.unmute');
|
4356
4359
|
}
|
4357
4360
|
case 'startVideo': {
|
4358
4361
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4359
|
-
return __awaiter$
|
4362
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4360
4363
|
return yield target.startVideo(...args);
|
4361
4364
|
});
|
4362
4365
|
}, 'Call.startVideo');
|
4363
4366
|
}
|
4364
4367
|
case 'stopVideo': {
|
4365
4368
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4366
|
-
return __awaiter$
|
4369
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4367
4370
|
return yield target.stopVideo(...args);
|
4368
4371
|
});
|
4369
4372
|
}, 'Call.stopVideo');
|
4370
4373
|
}
|
4371
4374
|
case 'startScreenSharing': {
|
4372
4375
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4373
|
-
return __awaiter$
|
4376
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4374
4377
|
return yield target.startScreenSharing(...args);
|
4375
4378
|
});
|
4376
4379
|
}, 'Call.startScreenSharing');
|
4377
4380
|
}
|
4378
4381
|
case 'stopScreenSharing': {
|
4379
4382
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4380
|
-
return __awaiter$
|
4383
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4381
4384
|
return yield target.stopScreenSharing(...args);
|
4382
4385
|
});
|
4383
4386
|
}, 'Call.stopScreenSharing');
|
4384
4387
|
}
|
4385
4388
|
case 'hold': {
|
4386
4389
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4387
|
-
return __awaiter$
|
4390
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4388
4391
|
return yield target.hold(...args);
|
4389
4392
|
});
|
4390
4393
|
}, 'Call.hold');
|
4391
4394
|
}
|
4392
4395
|
case 'resume': {
|
4393
4396
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
4394
|
-
return __awaiter$
|
4397
|
+
return __awaiter$G(this, void 0, void 0, function* () {
|
4395
4398
|
return yield target.resume(...args);
|
4396
4399
|
});
|
4397
4400
|
}, 'Call.resume');
|
@@ -4431,7 +4434,7 @@ class ProxyTeamsCaptions {
|
|
4431
4434
|
get(target, prop) {
|
4432
4435
|
switch (prop) {
|
4433
4436
|
case 'startCaptions':
|
4434
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
4437
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
|
4435
4438
|
var _a, _b;
|
4436
4439
|
this._context.setStartCaptionsInProgress(this._call.id, true);
|
4437
4440
|
const ret = yield target.startCaptions(...args);
|
@@ -4439,7 +4442,7 @@ class ProxyTeamsCaptions {
|
|
4439
4442
|
return ret;
|
4440
4443
|
}), 'Call.feature');
|
4441
4444
|
case 'stopCaptions':
|
4442
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
4445
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
|
4443
4446
|
const ret = yield target.stopCaptions(...args);
|
4444
4447
|
this._context.setIsCaptionActive(this._call.id, false);
|
4445
4448
|
this._context.setStartCaptionsInProgress(this._call.id, false);
|
@@ -4447,13 +4450,13 @@ class ProxyTeamsCaptions {
|
|
4447
4450
|
return ret;
|
4448
4451
|
}), 'Call.feature');
|
4449
4452
|
case 'setSpokenLanguage':
|
4450
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
4453
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
|
4451
4454
|
const ret = yield target.setSpokenLanguage(...args);
|
4452
4455
|
this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
|
4453
4456
|
return ret;
|
4454
4457
|
}), 'Call.feature');
|
4455
4458
|
case 'setCaptionLanguage':
|
4456
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
4459
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
|
4457
4460
|
const ret = yield target.setCaptionLanguage(...args);
|
4458
4461
|
this._context.setSelectedCaptionLanguage(this._call.id, args[0]);
|
4459
4462
|
return ret;
|
@@ -4501,7 +4504,7 @@ class ProxyTransferCallFeature {
|
|
4501
4504
|
|
4502
4505
|
// Copyright (c) Microsoft Corporation.
|
4503
4506
|
// Licensed under the MIT License.
|
4504
|
-
var __awaiter$
|
4507
|
+
var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4505
4508
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4506
4509
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4507
4510
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4515,7 +4518,7 @@ class ProxyCall extends ProxyCallCommon {
|
|
4515
4518
|
switch (prop) {
|
4516
4519
|
case 'addParticipant': {
|
4517
4520
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
4518
|
-
return __awaiter$
|
4521
|
+
return __awaiter$F(this, void 0, void 0, function* () {
|
4519
4522
|
return yield target.addParticipant(...args);
|
4520
4523
|
});
|
4521
4524
|
}, 'Call.addParticipant');
|
@@ -4753,7 +4756,7 @@ class InternalCallContext {
|
|
4753
4756
|
|
4754
4757
|
// Copyright (c) Microsoft Corporation.
|
4755
4758
|
// Licensed under the MIT License.
|
4756
|
-
var __awaiter$
|
4759
|
+
var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4757
4760
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4758
4761
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4759
4762
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4768,7 +4771,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
|
|
4768
4771
|
switch (prop) {
|
4769
4772
|
case 'addParticipant': {
|
4770
4773
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
4771
|
-
return __awaiter$
|
4774
|
+
return __awaiter$E(this, void 0, void 0, function* () {
|
4772
4775
|
return yield target.addParticipant(...args);
|
4773
4776
|
});
|
4774
4777
|
}, 'TeamsCall.addParticipant');
|
@@ -4885,7 +4888,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
|
|
4885
4888
|
|
4886
4889
|
// Copyright (c) Microsoft Corporation.
|
4887
4890
|
// Licensed under the MIT License.
|
4888
|
-
var __awaiter$
|
4891
|
+
var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4889
4892
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4890
4893
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4891
4894
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4907,7 +4910,7 @@ class ProxyVideoStreamRendererView {
|
|
4907
4910
|
get(target, prop) {
|
4908
4911
|
switch (prop) {
|
4909
4912
|
case 'updateScalingMode': {
|
4910
|
-
return (...args) => __awaiter$
|
4913
|
+
return (...args) => __awaiter$D(this, void 0, void 0, function* () {
|
4911
4914
|
yield target.updateScalingMode(...args);
|
4912
4915
|
this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
|
4913
4916
|
});
|
@@ -4928,7 +4931,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
|
|
4928
4931
|
|
4929
4932
|
// Copyright (c) Microsoft Corporation.
|
4930
4933
|
// Licensed under the MIT License.
|
4931
|
-
var __awaiter$
|
4934
|
+
var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4932
4935
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4933
4936
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4934
4937
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4950,7 +4953,7 @@ class ProxyCallClient {
|
|
4950
4953
|
get(target, prop) {
|
4951
4954
|
switch (prop) {
|
4952
4955
|
case 'createCallAgent': {
|
4953
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
4956
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$C(this, void 0, void 0, function* () {
|
4954
4957
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
4955
4958
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
4956
4959
|
// callAgent if the createCallAgent succeeds.
|
@@ -4963,7 +4966,7 @@ class ProxyCallClient {
|
|
4963
4966
|
}), 'CallClient.createCallAgent');
|
4964
4967
|
}
|
4965
4968
|
case 'createTeamsCallAgent': {
|
4966
|
-
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
4969
|
+
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$C(this, void 0, void 0, function* () {
|
4967
4970
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
4968
4971
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
4969
4972
|
// callAgent if the createCallAgent succeeds.
|
@@ -4976,7 +4979,7 @@ class ProxyCallClient {
|
|
4976
4979
|
}), 'CallClient.createTeamsCallAgent');
|
4977
4980
|
}
|
4978
4981
|
case 'getDeviceManager': {
|
4979
|
-
return this._context.withAsyncErrorTeedToState(() => __awaiter$
|
4982
|
+
return this._context.withAsyncErrorTeedToState(() => __awaiter$C(this, void 0, void 0, function* () {
|
4980
4983
|
// As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
|
4981
4984
|
// DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
|
4982
4985
|
// throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
|
@@ -5005,7 +5008,7 @@ class ProxyCallClient {
|
|
5005
5008
|
/**
|
5006
5009
|
* add to this object if we want to proxy anything else off the DebugInfo feature object.
|
5007
5010
|
*/
|
5008
|
-
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$
|
5011
|
+
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$C(this, void 0, void 0, function* () {
|
5009
5012
|
const environmentInfo = yield feature.getEnvironmentInfo();
|
5010
5013
|
this._context.setEnvironmentInfo(environmentInfo);
|
5011
5014
|
return environmentInfo;
|
@@ -5066,7 +5069,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
|
|
5066
5069
|
});
|
5067
5070
|
Object.defineProperty(callClient, 'createView', {
|
5068
5071
|
configurable: false,
|
5069
|
-
value: (callId, participantId, stream, options) => __awaiter$
|
5072
|
+
value: (callId, participantId, stream, options) => __awaiter$C(void 0, void 0, void 0, function* () {
|
5070
5073
|
const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
|
5071
5074
|
const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
|
5072
5075
|
// We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
|
@@ -6029,11 +6032,17 @@ const sendButtonStyle = react.mergeStyles({
|
|
6029
6032
|
/**
|
6030
6033
|
* @private
|
6031
6034
|
*/
|
6032
|
-
const sendIconStyle =
|
6033
|
-
|
6034
|
-
|
6035
|
-
|
6036
|
-
|
6035
|
+
const sendIconStyle = (props) => {
|
6036
|
+
const { theme, hasText,
|
6037
|
+
/* @conditional-compile-remove(file-sharing) */ hasFile, hasErrorMessage, customSendIconStyle } = props;
|
6038
|
+
const hasNoContent = !hasText && /* @conditional-compile-remove(file-sharing) */ !hasFile;
|
6039
|
+
return react.mergeStyles({
|
6040
|
+
width: '1.25rem',
|
6041
|
+
height: '1.25rem',
|
6042
|
+
margin: 'auto',
|
6043
|
+
color: hasErrorMessage || hasNoContent ? theme.palette.neutralTertiary : theme.palette.themePrimary
|
6044
|
+
}, customSendIconStyle);
|
6045
|
+
};
|
6037
6046
|
/**
|
6038
6047
|
* @private
|
6039
6048
|
*/
|
@@ -6066,7 +6075,7 @@ const borderAndBoxShadowStyle = (props) => {
|
|
6066
6075
|
const borderColorActive = hasErrorMessage ? theme.semanticColors.errorText : theme.palette.themePrimary;
|
6067
6076
|
const borderThickness = disabled ? 0 : defaultSendBoxInactiveBorderThicknessREM;
|
6068
6077
|
const borderActiveThickness = disabled ? 0 : defaultSendBoxActiveBorderThicknessREM;
|
6069
|
-
return {
|
6078
|
+
return react.mergeStyles({
|
6070
6079
|
borderRadius: theme.effects.roundedCorner4,
|
6071
6080
|
border: `${borderThickness}rem solid ${borderColor}`,
|
6072
6081
|
// The border thickness of the sendbox wrapper changes on hover, to prevent the border thickness change causing the
|
@@ -6076,7 +6085,7 @@ const borderAndBoxShadowStyle = (props) => {
|
|
6076
6085
|
border: `${borderActiveThickness}rem solid ${borderColorActive}`,
|
6077
6086
|
margin: `${defaultSendBoxActiveBorderThicknessREM - borderActiveThickness}rem`
|
6078
6087
|
}
|
6079
|
-
};
|
6088
|
+
});
|
6080
6089
|
};
|
6081
6090
|
|
6082
6091
|
// Copyright (c) Microsoft Corporation.
|
@@ -6544,57 +6553,6 @@ const textFieldStyle = {
|
|
6544
6553
|
borderRadius: '0.25rem'
|
6545
6554
|
}
|
6546
6555
|
};
|
6547
|
-
/**
|
6548
|
-
* @private
|
6549
|
-
*/
|
6550
|
-
const inputButtonStyle = react.mergeStyles({
|
6551
|
-
color: 'grey',
|
6552
|
-
margin: 'auto',
|
6553
|
-
width: '1.0625rem',
|
6554
|
-
height: '1.0625rem',
|
6555
|
-
backgroundColor: 'transparent',
|
6556
|
-
'&:hover': {
|
6557
|
-
backgroundColor: 'transparent'
|
6558
|
-
}
|
6559
|
-
});
|
6560
|
-
/**
|
6561
|
-
* @private
|
6562
|
-
*/
|
6563
|
-
const inputButtonTooltipStyle = react.mergeStyles({
|
6564
|
-
// The toolTip host container show be a flex box, so that alignItems: 'center' works for inside buttons
|
6565
|
-
display: 'flex'
|
6566
|
-
});
|
6567
|
-
/**
|
6568
|
-
* @private
|
6569
|
-
*/
|
6570
|
-
const iconWrapperStyle$1 = react.mergeStyles({
|
6571
|
-
pointerEvents: 'none'
|
6572
|
-
});
|
6573
|
-
|
6574
|
-
// Copyright (c) Microsoft Corporation.
|
6575
|
-
// Licensed under the MIT License.
|
6576
|
-
/**
|
6577
|
-
* @private
|
6578
|
-
*/
|
6579
|
-
const isDarkThemed = (theme) => {
|
6580
|
-
const themeBlackBrightness = getPerceptualBrightnessOfHexColor(theme.palette.black);
|
6581
|
-
const themeWhiteBrightness = getPerceptualBrightnessOfHexColor(theme.palette.white);
|
6582
|
-
if (Number.isNaN(themeBlackBrightness) || Number.isNaN(themeWhiteBrightness)) {
|
6583
|
-
return false;
|
6584
|
-
}
|
6585
|
-
return themeBlackBrightness > themeWhiteBrightness;
|
6586
|
-
};
|
6587
|
-
const getPerceptualBrightnessOfHexColor = (hexColor) => {
|
6588
|
-
// return NaN if hexColor is not a hex code
|
6589
|
-
if (!/^#[0-9A-Fa-f]{6}$/i.test(hexColor)) {
|
6590
|
-
return NaN;
|
6591
|
-
}
|
6592
|
-
const r = parseInt(hexColor.substring(1, 3), 16);
|
6593
|
-
const g = parseInt(hexColor.substring(3, 5), 16);
|
6594
|
-
const b = parseInt(hexColor.substring(5, 7), 16);
|
6595
|
-
// arithmetic mean μ of the red, green, and blue color coordinates. Source: https://en.wikipedia.org/wiki/Brightness
|
6596
|
-
return (r + g + b) / 3;
|
6597
|
-
};
|
6598
6556
|
|
6599
6557
|
// Copyright (c) Microsoft Corporation.
|
6600
6558
|
// Licensed under the MIT License.
|
@@ -7660,7 +7618,7 @@ const _MentionPopover = (props) => {
|
|
7660
7618
|
|
7661
7619
|
// Copyright (c) Microsoft Corporation.
|
7662
7620
|
// Licensed under the MIT License.
|
7663
|
-
var __awaiter$
|
7621
|
+
var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
7664
7622
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
7665
7623
|
return new (P || (P = Promise))(function (resolve, reject) {
|
7666
7624
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -7846,7 +7804,7 @@ const TextFieldWithMention = (props) => {
|
|
7846
7804
|
onSuggestionSelected,
|
7847
7805
|
updateMentionSuggestions
|
7848
7806
|
]);
|
7849
|
-
const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$
|
7807
|
+
const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$B(void 0, void 0, void 0, function* () {
|
7850
7808
|
var _a;
|
7851
7809
|
let suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
|
7852
7810
|
suggestions = suggestions.filter((suggestion) => suggestion.displayText.trim() !== '');
|
@@ -8023,7 +7981,7 @@ const TextFieldWithMention = (props) => {
|
|
8023
7981
|
});
|
8024
7982
|
}
|
8025
7983
|
}, [updateSelectionIndexesWithMentionIfNeeded, setSelectionStartValue, setSelectionEndValue]);
|
8026
|
-
const handleOnChange = React.useCallback(({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) => __awaiter$
|
7984
|
+
const handleOnChange = React.useCallback(({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) => __awaiter$B(void 0, void 0, void 0, function* () {
|
8027
7985
|
var _b;
|
8028
7986
|
debouncedQueryUpdate.cancel();
|
8029
7987
|
if (event.currentTarget === null) {
|
@@ -8317,14 +8275,71 @@ const InputBoxComponent = (props) => {
|
|
8317
8275
|
return (React.createElement(react.Stack, { className: mergedRootStyle },
|
8318
8276
|
React.createElement("div", { className: mergedTextContainerStyle }, renderTextField())));
|
8319
8277
|
};
|
8278
|
+
|
8279
|
+
// Copyright (c) Microsoft Corporation.
|
8280
|
+
// Licensed under the MIT License.
|
8281
|
+
/**
|
8282
|
+
* @private
|
8283
|
+
*/
|
8284
|
+
const isDarkThemed = (theme) => {
|
8285
|
+
const themeBlackBrightness = getPerceptualBrightnessOfHexColor(theme.palette.black);
|
8286
|
+
const themeWhiteBrightness = getPerceptualBrightnessOfHexColor(theme.palette.white);
|
8287
|
+
if (Number.isNaN(themeBlackBrightness) || Number.isNaN(themeWhiteBrightness)) {
|
8288
|
+
return false;
|
8289
|
+
}
|
8290
|
+
return themeBlackBrightness > themeWhiteBrightness;
|
8291
|
+
};
|
8292
|
+
const getPerceptualBrightnessOfHexColor = (hexColor) => {
|
8293
|
+
// return NaN if hexColor is not a hex code
|
8294
|
+
if (!/^#[0-9A-Fa-f]{6}$/i.test(hexColor)) {
|
8295
|
+
return NaN;
|
8296
|
+
}
|
8297
|
+
const r = parseInt(hexColor.substring(1, 3), 16);
|
8298
|
+
const g = parseInt(hexColor.substring(3, 5), 16);
|
8299
|
+
const b = parseInt(hexColor.substring(5, 7), 16);
|
8300
|
+
// arithmetic mean μ of the red, green, and blue color coordinates. Source: https://en.wikipedia.org/wiki/Brightness
|
8301
|
+
return (r + g + b) / 3;
|
8302
|
+
};
|
8303
|
+
|
8304
|
+
// Copyright (c) Microsoft Corporation.
|
8305
|
+
// Licensed under the MIT License.
|
8306
|
+
/**
|
8307
|
+
* @private
|
8308
|
+
*/
|
8309
|
+
const inputBoxButtonStyle = react.mergeStyles({
|
8310
|
+
color: 'grey',
|
8311
|
+
margin: 'auto',
|
8312
|
+
width: '1.0625rem',
|
8313
|
+
height: '1.0625rem',
|
8314
|
+
backgroundColor: 'transparent',
|
8315
|
+
'&:hover': {
|
8316
|
+
backgroundColor: 'transparent'
|
8317
|
+
}
|
8318
|
+
});
|
8319
|
+
/**
|
8320
|
+
* @private
|
8321
|
+
*/
|
8322
|
+
const inputBoxButtonTooltipStyle = react.mergeStyles({
|
8323
|
+
// The toolTip host container show be a flex box, so that alignItems: 'center' works for inside buttons
|
8324
|
+
display: 'flex'
|
8325
|
+
});
|
8326
|
+
/**
|
8327
|
+
* @private
|
8328
|
+
*/
|
8329
|
+
const iconWrapperStyle$1 = react.mergeStyles({
|
8330
|
+
pointerEvents: 'none'
|
8331
|
+
});
|
8332
|
+
|
8333
|
+
// Copyright (c) Microsoft Corporation.
|
8334
|
+
// Licensed under the MIT License.
|
8320
8335
|
/**
|
8321
8336
|
* @private
|
8322
8337
|
*/
|
8323
8338
|
const InputBoxButton = (props) => {
|
8324
8339
|
const { onRenderIcon, onClick, ariaLabel, className, id, tooltipContent } = props;
|
8325
8340
|
const [isHover, setIsHover] = React.useState(false);
|
8326
|
-
const mergedButtonStyle = react.mergeStyles(
|
8327
|
-
const theme = useTheme();
|
8341
|
+
const mergedButtonStyle = react.mergeStyles(inputBoxButtonStyle, className);
|
8342
|
+
const theme = react.useTheme();
|
8328
8343
|
const calloutStyle = { root: { padding: 0 }, calloutMain: { padding: '0.5rem' } };
|
8329
8344
|
// Place callout with no gap between it and the button.
|
8330
8345
|
const calloutProps = {
|
@@ -8332,7 +8347,7 @@ const InputBoxButton = (props) => {
|
|
8332
8347
|
styles: calloutStyle,
|
8333
8348
|
backgroundColor: isDarkThemed(theme) ? theme.palette.neutralLighter : ''
|
8334
8349
|
};
|
8335
|
-
return (React.createElement(react.TooltipHost, { hostClassName:
|
8350
|
+
return (React.createElement(react.TooltipHost, { hostClassName: inputBoxButtonTooltipStyle, content: tooltipContent, calloutProps: Object.assign({}, calloutProps) },
|
8336
8351
|
React.createElement(react.IconButton, { className: mergedButtonStyle, ariaLabel: ariaLabel, onClick: onClick, id: id, onMouseEnter: () => {
|
8337
8352
|
setIsHover(true);
|
8338
8353
|
}, onMouseLeave: () => {
|
@@ -8568,8 +8583,26 @@ const _FileUploadCards = (props) => {
|
|
8568
8583
|
|
8569
8584
|
// Copyright (c) Microsoft Corporation.
|
8570
8585
|
// Licensed under the MIT License.
|
8571
|
-
|
8586
|
+
/* @conditional-compile-remove(file-sharing) */
|
8587
|
+
/**
|
8588
|
+
* @private
|
8589
|
+
*/
|
8590
|
+
const hasIncompleteFileUploads = (activeFileUploads) => {
|
8591
|
+
return !!((activeFileUploads === null || activeFileUploads === void 0 ? void 0 : activeFileUploads.length) &&
|
8592
|
+
!activeFileUploads.filter((fileUpload) => !fileUpload.error).every((fileUpload) => fileUpload.uploadComplete));
|
8593
|
+
};
|
8594
|
+
/* @conditional-compile-remove(file-sharing) */
|
8595
|
+
/**
|
8596
|
+
* @private
|
8597
|
+
*/
|
8598
|
+
const hasCompletedFileUploads = (activeFileUploads) => {
|
8599
|
+
return !!(activeFileUploads === null || activeFileUploads === void 0 ? void 0 : activeFileUploads.find((file) => !file.error));
|
8600
|
+
};
|
8601
|
+
|
8602
|
+
// Copyright (c) Microsoft Corporation.
|
8603
|
+
// Licensed under the MIT License.
|
8572
8604
|
const MAXIMUM_LENGTH_OF_MESSAGE$1 = 8000;
|
8605
|
+
const EMPTY_MESSAGE_REGEX = /^\s*$/;
|
8573
8606
|
/**
|
8574
8607
|
* Component for typing and sending messages.
|
8575
8608
|
*
|
@@ -8581,15 +8614,17 @@ const MAXIMUM_LENGTH_OF_MESSAGE$1 = 8000;
|
|
8581
8614
|
const SendBox = (props) => {
|
8582
8615
|
const { disabled, systemMessage, supportNewline, onSendMessage, onTyping, onRenderIcon, onRenderSystemMessage, styles, autoFocus,
|
8583
8616
|
/* @conditional-compile-remove(mention) */
|
8584
|
-
mentionLookupOptions
|
8617
|
+
mentionLookupOptions,
|
8618
|
+
/* @conditional-compile-remove(file-sharing) */
|
8619
|
+
activeFileUploads } = props;
|
8585
8620
|
const theme = useTheme();
|
8586
8621
|
const localeStrings = useLocale$1().strings.sendBox;
|
8587
8622
|
const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
|
8588
8623
|
const ids = useIdentifiers();
|
8589
|
-
const activeFileUploads = activeFileUploadsTrampoline(props);
|
8590
8624
|
const [textValue, setTextValue] = React.useState('');
|
8591
8625
|
const [textValueOverflow, setTextValueOverflow] = React.useState(false);
|
8592
8626
|
const sendTextFieldRef = React.useRef(null);
|
8627
|
+
/* @conditional-compile-remove(file-sharing) */
|
8593
8628
|
const [fileUploadsPendingError, setFileUploadsPendingError] = React.useState(undefined);
|
8594
8629
|
const sendMessageOnClick = () => {
|
8595
8630
|
var _a;
|
@@ -8598,16 +8633,18 @@ const SendBox = (props) => {
|
|
8598
8633
|
return;
|
8599
8634
|
}
|
8600
8635
|
// Don't send message until all files have been uploaded successfully
|
8636
|
+
/* @conditional-compile-remove(file-sharing) */
|
8601
8637
|
setFileUploadsPendingError(undefined);
|
8602
|
-
|
8603
|
-
|
8638
|
+
/* @conditional-compile-remove(file-sharing) */
|
8639
|
+
if (hasIncompleteFileUploads(activeFileUploads)) {
|
8604
8640
|
setFileUploadsPendingError({ message: strings.fileUploadsPendingError, timestamp: Date.now() });
|
8605
8641
|
return;
|
8606
8642
|
}
|
8607
8643
|
const message = textValue;
|
8608
8644
|
// we don't want to send empty messages including spaces, newlines, tabs
|
8609
8645
|
// Message can be empty if there is a valid file upload
|
8610
|
-
if (!EMPTY_MESSAGE_REGEX.test(message) ||
|
8646
|
+
if (!EMPTY_MESSAGE_REGEX.test(message) ||
|
8647
|
+
/* @conditional-compile-remove(file-sharing) */ hasCompletedFileUploads(activeFileUploads)) {
|
8611
8648
|
onSendMessage && onSendMessage(sanitizeText(message));
|
8612
8649
|
setTextValue('');
|
8613
8650
|
}
|
@@ -8629,18 +8666,28 @@ const SendBox = (props) => {
|
|
8629
8666
|
const errorMessage = systemMessage !== null && systemMessage !== void 0 ? systemMessage : textTooLongMessage;
|
8630
8667
|
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]);
|
8631
8668
|
const mergedStyles = React.useMemo(() => react.concatStyleSets(styles), [styles]);
|
8632
|
-
const
|
8633
|
-
|
8634
|
-
|
8635
|
-
|
8636
|
-
|
8669
|
+
const mergedSendIconStyle = React.useMemo(() => sendIconStyle({
|
8670
|
+
theme,
|
8671
|
+
hasText: !!textValue,
|
8672
|
+
/* @conditional-compile-remove(file-sharing) */ hasFile: hasCompletedFileUploads(activeFileUploads),
|
8673
|
+
hasErrorMessage: !!errorMessage,
|
8674
|
+
customSendIconStyle: styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon
|
8675
|
+
}), [
|
8676
|
+
theme,
|
8677
|
+
textValue,
|
8678
|
+
/* @conditional-compile-remove(file-sharing) */ activeFileUploads,
|
8679
|
+
errorMessage,
|
8680
|
+
styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon
|
8681
|
+
]);
|
8637
8682
|
const onRenderSendIcon = React.useCallback((isHover) => onRenderIcon ? (onRenderIcon(isHover)) : (React.createElement(react.Icon, { iconName: isHover && textValue ? 'SendBoxSendHovered' : 'SendBoxSend', className: mergedSendIconStyle })), [mergedSendIconStyle, onRenderIcon, textValue]);
|
8638
8683
|
// Ensure that errors are cleared when there are no files in sendBox
|
8684
|
+
/* @conditional-compile-remove(file-sharing) */
|
8639
8685
|
React.useEffect(() => {
|
8640
8686
|
if (!(activeFileUploads === null || activeFileUploads === void 0 ? void 0 : activeFileUploads.filter((upload) => !upload.error).length)) {
|
8641
8687
|
setFileUploadsPendingError(undefined);
|
8642
8688
|
}
|
8643
8689
|
}, [activeFileUploads]);
|
8690
|
+
/* @conditional-compile-remove(file-sharing) */
|
8644
8691
|
const sendBoxErrorsProps = React.useMemo(() => {
|
8645
8692
|
var _a;
|
8646
8693
|
return {
|
@@ -8662,13 +8709,13 @@ const SendBox = (props) => {
|
|
8662
8709
|
} })));
|
8663
8710
|
}, [activeFileUploads, props, localeStrings]);
|
8664
8711
|
return (React.createElement(react.Stack, { className: react.mergeStyles(sendBoxWrapperStyles, { overflow: 'visible' } // This is needed for the mention popup to be visible
|
8665
|
-
) },
|
8712
|
+
) }, /* @conditional-compile-remove(file-sharing) */
|
8666
8713
|
React.createElement(SendBoxErrors, Object.assign({}, sendBoxErrorsProps)),
|
8667
|
-
React.createElement(react.Stack, { className:
|
8714
|
+
React.createElement(react.Stack, { className: borderAndBoxShadowStyle({
|
8668
8715
|
theme,
|
8669
8716
|
hasErrorMessage: !!errorMessage,
|
8670
8717
|
disabled: !!disabled
|
8671
|
-
})
|
8718
|
+
}) },
|
8672
8719
|
React.createElement(InputBoxComponent, { autoFocus: autoFocus, "data-ui-id": ids.sendboxTextField, disabled: disabled, errorMessage: onRenderSystemMessage ? onRenderSystemMessage(errorMessage) : errorMessage, textFieldRef: sendTextFieldRef, id: "sendbox", placeholderText: strings.placeholderText, textValue: textValue, onChange: (_, newValue) => setText(newValue), onKeyDown: (ev) => {
|
8673
8720
|
const keyWasSendingMessage = ev.key === 'Enter' && (ev.shiftKey === false || !supportNewline);
|
8674
8721
|
if (!keyWasSendingMessage) {
|
@@ -8691,15 +8738,6 @@ const SendBox = (props) => {
|
|
8691
8738
|
/**
|
8692
8739
|
* @private
|
8693
8740
|
*/
|
8694
|
-
const hasIncompleteFileUploads = (props) => {
|
8695
|
-
const activeFileUploads = activeFileUploadsTrampoline(props);
|
8696
|
-
return !!((activeFileUploads === null || activeFileUploads === void 0 ? void 0 : activeFileUploads.length) &&
|
8697
|
-
!activeFileUploads.filter((fileUpload) => !fileUpload.error).every((fileUpload) => fileUpload.uploadComplete));
|
8698
|
-
};
|
8699
|
-
const hasFile = (props) => {
|
8700
|
-
const activeFileUploads = activeFileUploadsTrampoline(props);
|
8701
|
-
return !!(activeFileUploads === null || activeFileUploads === void 0 ? void 0 : activeFileUploads.find((file) => !file.error));
|
8702
|
-
};
|
8703
8741
|
const sanitizeText = (message) => {
|
8704
8742
|
if (EMPTY_MESSAGE_REGEX.test(message)) {
|
8705
8743
|
return '';
|
@@ -8708,10 +8746,6 @@ const sanitizeText = (message) => {
|
|
8708
8746
|
return message;
|
8709
8747
|
}
|
8710
8748
|
};
|
8711
|
-
const activeFileUploadsTrampoline = (props) => {
|
8712
|
-
/* @conditional-compile-remove(file-sharing) */
|
8713
|
-
return props.activeFileUploads;
|
8714
|
-
};
|
8715
8749
|
|
8716
8750
|
// Copyright (c) Microsoft Corporation.
|
8717
8751
|
// Licensed under the MIT License.
|
@@ -8959,6 +8993,21 @@ const ImageGallery = (props) => {
|
|
8959
8993
|
renderBodyWithLightDismiss()));
|
8960
8994
|
};
|
8961
8995
|
|
8996
|
+
// Copyright (c) Microsoft Corporation.
|
8997
|
+
// Licensed under the MIT License.
|
8998
|
+
/**
|
8999
|
+
* @private
|
9000
|
+
*/
|
9001
|
+
react.mergeStyles({
|
9002
|
+
border: 'none',
|
9003
|
+
overflow: 'auto',
|
9004
|
+
padding: '10px',
|
9005
|
+
outline: 'none',
|
9006
|
+
bottom: '0',
|
9007
|
+
minHeight: '2.25rem',
|
9008
|
+
maxHeight: '8.25rem'
|
9009
|
+
});
|
9010
|
+
|
8962
9011
|
// Copyright (c) Microsoft Corporation.
|
8963
9012
|
// Licensed under the MIT License.
|
8964
9013
|
/** @private */
|
@@ -10633,7 +10682,7 @@ const chatMessageActionMenuProps = (menuProps) => {
|
|
10633
10682
|
|
10634
10683
|
// Copyright (c) Microsoft Corporation.
|
10635
10684
|
// Licensed under the MIT License.
|
10636
|
-
var __awaiter$
|
10685
|
+
var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
10637
10686
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10638
10687
|
return new (P || (P = Promise))(function (resolve, reject) {
|
10639
10688
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -10676,7 +10725,7 @@ const _FileDownloadCards = (props) => {
|
|
10676
10725
|
fileCount: `${(_c = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.filter(isFileSharingAttachment).length) !== null && _c !== void 0 ? _c : 0}`
|
10677
10726
|
});
|
10678
10727
|
}, [(_b = props.strings) === null || _b === void 0 ? void 0 : _b.fileCardGroupMessage, localeStrings.fileCardGroupMessage, fileMetadata, isFileSharingAttachment]);
|
10679
|
-
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$
|
10728
|
+
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$A(void 0, void 0, void 0, function* () {
|
10680
10729
|
if (!props.downloadHandler) {
|
10681
10730
|
window.open(file.url, '_blank', 'noopener,noreferrer');
|
10682
10731
|
}
|
@@ -10728,7 +10777,7 @@ const useLocaleStringsTrampoline = () => {
|
|
10728
10777
|
|
10729
10778
|
// Copyright (c) Microsoft Corporation.
|
10730
10779
|
// Licensed under the MIT License.
|
10731
|
-
var __awaiter$
|
10780
|
+
var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
10732
10781
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10733
10782
|
return new (P || (P = Promise))(function (resolve, reject) {
|
10734
10783
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -10829,7 +10878,7 @@ const MessageBubble = (props) => {
|
|
10829
10878
|
return undefined;
|
10830
10879
|
}, [editedOn, message.messageType, messageStatus, strings.editedTag, strings.failToSendTag, theme]);
|
10831
10880
|
/* @conditional-compile-remove(image-gallery) */
|
10832
|
-
const handleOnInlineImageClicked = React.useCallback((attachmentId) => __awaiter$
|
10881
|
+
const handleOnInlineImageClicked = React.useCallback((attachmentId) => __awaiter$z(void 0, void 0, void 0, function* () {
|
10833
10882
|
if (onInlineImageClicked === undefined) {
|
10834
10883
|
return;
|
10835
10884
|
}
|
@@ -10949,7 +10998,7 @@ const ChatMessageComponentAsMessageBubble = React.memo(MessageBubble);
|
|
10949
10998
|
|
10950
10999
|
// Copyright (c) Microsoft Corporation.
|
10951
11000
|
// Licensed under the MIT License.
|
10952
|
-
var __awaiter$
|
11001
|
+
var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
10953
11002
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10954
11003
|
return new (P || (P = Promise))(function (resolve, reject) {
|
10955
11004
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -10982,7 +11031,7 @@ const ChatMessageComponent = (props) => {
|
|
10982
11031
|
onSendMessage && onSendMessage(content !== undefined ? content : '');
|
10983
11032
|
}, [clientMessageId, content, onSendMessage, onDeleteMessage]);
|
10984
11033
|
if (isEditing && message.messageType === 'chat') {
|
10985
|
-
return (React.createElement(ChatMessageComponentAsEditBox, { message: message, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$
|
11034
|
+
return (React.createElement(ChatMessageComponentAsEditBox, { message: message, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$y(void 0, void 0, void 0, function* () {
|
10986
11035
|
props.onUpdateMessage &&
|
10987
11036
|
message.messageId &&
|
10988
11037
|
(yield props.onUpdateMessage(message.messageId, text, metadata, options));
|
@@ -11293,7 +11342,7 @@ const ChatMessageComponentWrapper = (props) => {
|
|
11293
11342
|
|
11294
11343
|
// Copyright (c) Microsoft Corporation.
|
11295
11344
|
// Licensed under the MIT License.
|
11296
|
-
var __awaiter$
|
11345
|
+
var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
11297
11346
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
11298
11347
|
return new (P || (P = Promise))(function (resolve, reject) {
|
11299
11348
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -11463,7 +11512,7 @@ const MessageThreadWrapper = (props) => {
|
|
11463
11512
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
11464
11513
|
const [inlineAttachments, setInlineAttachments] = React.useState({});
|
11465
11514
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
11466
|
-
const onFetchInlineAttachment = React.useCallback((attachments, messageId) => __awaiter$
|
11515
|
+
const onFetchInlineAttachment = React.useCallback((attachments, messageId) => __awaiter$x(void 0, void 0, void 0, function* () {
|
11467
11516
|
if (!onFetchAttachments || attachments.length === 0) {
|
11468
11517
|
return;
|
11469
11518
|
}
|
@@ -11493,7 +11542,7 @@ const MessageThreadWrapper = (props) => {
|
|
11493
11542
|
const previousMessagesRef = React.useRef([]);
|
11494
11543
|
// an aria label for Narrator to notify when a message is deleted
|
11495
11544
|
const [deletedMessageAriaLabel, setDeletedMessageAriaLabel] = React.useState(undefined);
|
11496
|
-
const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$
|
11545
|
+
const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$x(void 0, void 0, void 0, function* () {
|
11497
11546
|
if (!onDeleteMessage) {
|
11498
11547
|
return;
|
11499
11548
|
}
|
@@ -11573,7 +11622,7 @@ const MessageThreadWrapper = (props) => {
|
|
11573
11622
|
*/
|
11574
11623
|
const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
|
11575
11624
|
// we try to only send those message status if user is scrolled to the bottom.
|
11576
|
-
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$
|
11625
|
+
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$x(void 0, void 0, void 0, function* () {
|
11577
11626
|
if (!isAtBottomOfScrollRef.current ||
|
11578
11627
|
!document.hasFocus() ||
|
11579
11628
|
!messagesRef.current ||
|
@@ -11624,7 +11673,7 @@ const MessageThreadWrapper = (props) => {
|
|
11624
11673
|
setIsAtBottomOfScrollRef(atBottom);
|
11625
11674
|
}, [scrollToBottom, sendMessageStatusIfAtBottom]);
|
11626
11675
|
// Infinite scrolling + threadInitialize function
|
11627
|
-
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$
|
11676
|
+
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$x(void 0, void 0, void 0, function* () {
|
11628
11677
|
if (!isLoadingChatMessagesRef.current) {
|
11629
11678
|
if (onLoadPreviousChatMessages) {
|
11630
11679
|
isLoadingChatMessagesRef.current = true;
|
@@ -13745,7 +13794,7 @@ const localVideoTileContainerStyles = {
|
|
13745
13794
|
|
13746
13795
|
// Copyright (c) Microsoft Corporation.
|
13747
13796
|
// Licensed under the MIT License.
|
13748
|
-
var __awaiter$
|
13797
|
+
var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
13749
13798
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13750
13799
|
return new (P || (P = Promise))(function (resolve, reject) {
|
13751
13800
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -13762,7 +13811,7 @@ const LocalVideoCameraCycleButton = (props) => {
|
|
13762
13811
|
const { cameras, selectedCamera, onSelectCamera, label, ariaDescription, size } = props;
|
13763
13812
|
const theme = react.useTheme();
|
13764
13813
|
const [waitForCamera, setWaitForCamera] = React.useState(false);
|
13765
|
-
const onChangeCameraClick = React.useCallback((device) => __awaiter$
|
13814
|
+
const onChangeCameraClick = React.useCallback((device) => __awaiter$w(void 0, void 0, void 0, function* () {
|
13766
13815
|
// Throttle changing camera to prevent too many callbacks
|
13767
13816
|
if (onSelectCamera) {
|
13768
13817
|
setWaitForCamera(true);
|
@@ -16868,7 +16917,7 @@ const DevicesButton = (props) => {
|
|
16868
16917
|
|
16869
16918
|
// Copyright (c) Microsoft Corporation.
|
16870
16919
|
// Licensed under the MIT License.
|
16871
|
-
var __awaiter$
|
16920
|
+
var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
16872
16921
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16873
16922
|
return new (P || (P = Promise))(function (resolve, reject) {
|
16874
16923
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -16906,7 +16955,7 @@ const CameraButton = (props) => {
|
|
16906
16955
|
const toggleAnnouncerString = React.useCallback((isCameraOn) => {
|
16907
16956
|
setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
|
16908
16957
|
}, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
|
16909
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
16958
|
+
const onToggleClick = React.useCallback(() => __awaiter$v(void 0, void 0, void 0, function* () {
|
16910
16959
|
// Throttle click on camera, need to await onToggleCamera then allow another click
|
16911
16960
|
if (onToggleCamera) {
|
16912
16961
|
setWaitForCamera(true);
|
@@ -16920,7 +16969,7 @@ const CameraButton = (props) => {
|
|
16920
16969
|
}
|
16921
16970
|
}
|
16922
16971
|
}), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
|
16923
|
-
const onChangeCameraClick = React.useCallback((device) => __awaiter$
|
16972
|
+
const onChangeCameraClick = React.useCallback((device) => __awaiter$v(void 0, void 0, void 0, function* () {
|
16924
16973
|
// Throttle changing camera to prevent too many callbacks
|
16925
16974
|
if (onSelectCamera) {
|
16926
16975
|
setWaitForCamera(true);
|
@@ -17091,7 +17140,7 @@ const lightThemeCallButtonStyles = {
|
|
17091
17140
|
|
17092
17141
|
// Copyright (c) Microsoft Corporation.
|
17093
17142
|
// Licensed under the MIT License.
|
17094
|
-
var __awaiter$
|
17143
|
+
var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
17095
17144
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
17096
17145
|
return new (P || (P = Promise))(function (resolve, reject) {
|
17097
17146
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -17132,7 +17181,7 @@ const MicrophoneButton = (props) => {
|
|
17132
17181
|
const toggleAnnouncerString = React.useCallback((isMicOn) => {
|
17133
17182
|
setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
|
17134
17183
|
}, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
|
17135
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
17184
|
+
const onToggleClick = React.useCallback(() => __awaiter$u(void 0, void 0, void 0, function* () {
|
17136
17185
|
if (onToggleMicrophone) {
|
17137
17186
|
try {
|
17138
17187
|
yield onToggleMicrophone();
|
@@ -18307,7 +18356,7 @@ const dtmfFrequencies = {
|
|
18307
18356
|
|
18308
18357
|
// Copyright (c) Microsoft Corporation.
|
18309
18358
|
// Licensed under the MIT License.
|
18310
|
-
var __awaiter$
|
18359
|
+
var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
18311
18360
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
18312
18361
|
return new (P || (P = Promise))(function (resolve, reject) {
|
18313
18362
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -18351,10 +18400,10 @@ const DialpadButton = (props) => {
|
|
18351
18400
|
const [buttonPressed, setButtonPressed] = React.useState(false);
|
18352
18401
|
const dtmfToneSound = React.useRef(new Tone(dtmfToneAudioContext, dtmfFrequencies[digit].f1, dtmfFrequencies[digit].f2));
|
18353
18402
|
const useLongPressProps = React.useMemo(() => ({
|
18354
|
-
onClick: () => __awaiter$
|
18403
|
+
onClick: () => __awaiter$t(void 0, void 0, void 0, function* () {
|
18355
18404
|
onClick(digit, index);
|
18356
18405
|
}),
|
18357
|
-
onLongPress: () => __awaiter$
|
18406
|
+
onLongPress: () => __awaiter$t(void 0, void 0, void 0, function* () {
|
18358
18407
|
onLongPress(digit, index);
|
18359
18408
|
}),
|
18360
18409
|
touchEventsOnly: isMobile
|
@@ -18403,7 +18452,7 @@ const DialpadButton = (props) => {
|
|
18403
18452
|
const DialpadContainer = (props) => {
|
18404
18453
|
var _a, _b;
|
18405
18454
|
const theme = react.useTheme();
|
18406
|
-
const { onSendDtmfTone, onClickDialpadButton, textFieldValue, onChange, showDeleteButton = true, isMobile = false, disableDtmfPlayback,
|
18455
|
+
const { onSendDtmfTone, onClickDialpadButton, textFieldValue, onChange, showDeleteButton = true, isMobile = false, disableDtmfPlayback, dialpadMode = 'dialer' } = props;
|
18407
18456
|
const dtmfToneAudioContext = React.useRef(new AudioContext());
|
18408
18457
|
const [plainTextValue, setPlainTextValue] = React.useState(textFieldValue !== null && textFieldValue !== void 0 ? textFieldValue : '');
|
18409
18458
|
const plainTextValuePreviousRenderValue = React.useRef(plainTextValue);
|
@@ -18450,20 +18499,16 @@ const DialpadContainer = (props) => {
|
|
18450
18499
|
setText(modifiedInput);
|
18451
18500
|
};
|
18452
18501
|
return (React.createElement(react.Stack, { className: react.mergeStyles(containerStyles$3(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), "data-test-id": "dialpadContainer", "data-ui-id": "dialpadContainer", horizontalAlign: 'center' },
|
18453
|
-
React.createElement(react.TextField, { styles: react.concatStyleSets(textFieldStyles(theme), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.textField), value: textFieldValue ? textFieldValue :
|
18502
|
+
dialpadMode === 'dialer' && (React.createElement(react.TextField, { styles: react.concatStyleSets(textFieldStyles(theme), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.textField), value: textFieldValue ? textFieldValue : formatPhoneNumber(plainTextValue),
|
18454
18503
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
18455
18504
|
onChange: (e) => {
|
18456
|
-
|
18457
|
-
setText(e.target.value);
|
18458
|
-
}
|
18505
|
+
setText(e.target.value);
|
18459
18506
|
}, onClick: (e) => {
|
18460
|
-
|
18461
|
-
e.preventDefault();
|
18462
|
-
}
|
18507
|
+
e.preventDefault();
|
18463
18508
|
}, placeholder: props.strings.placeholderText, "data-test-id": "dialpad-input", onRenderSuffix: () => {
|
18464
18509
|
var _a;
|
18465
18510
|
return (React.createElement(React.Fragment, null, showDeleteButton && plainTextValue.length !== 0 && (React.createElement(react.IconButton, { ariaLabel: props.strings.deleteButtonAriaLabel, onClick: deleteNumbers, styles: react.concatStyleSets(iconButtonStyles(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.deleteIcon), iconProps: { iconName: 'DialpadBackspace' } }))));
|
18466
|
-
} }),
|
18511
|
+
} })),
|
18467
18512
|
React.createElement(react.FocusZone, null, dialPadButtonsDefault.map((rows, rowIndex) => {
|
18468
18513
|
return (React.createElement(react.Stack, { horizontal: true, key: `row_${rowIndex}`, horizontalAlign: "stretch", tokens: { childrenGap: '1rem' } }, rows.map((button, columnIndex) => (React.createElement(DialpadButton, { key: `button_${columnIndex}`,
|
18469
18514
|
/* row index = 0
|
@@ -19503,7 +19548,7 @@ const _spokenLanguageToCaptionLanguage = {
|
|
19503
19548
|
|
19504
19549
|
// Copyright (c) Microsoft Corporation.
|
19505
19550
|
// Licensed under the MIT License.
|
19506
|
-
var __awaiter$
|
19551
|
+
var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
19507
19552
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
19508
19553
|
return new (P || (P = Promise))(function (resolve, reject) {
|
19509
19554
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -19546,7 +19591,7 @@ const _CaptionsSettingsModal = (props) => {
|
|
19546
19591
|
onDismissCaptionsSettings();
|
19547
19592
|
}
|
19548
19593
|
}, [onDismissCaptionsSettings]);
|
19549
|
-
const onConfirm = React.useCallback(() => __awaiter$
|
19594
|
+
const onConfirm = React.useCallback(() => __awaiter$s(void 0, void 0, void 0, function* () {
|
19550
19595
|
const spokenLanguageCode = selectedSpokenLanguage.key.toString();
|
19551
19596
|
const captionLanguageCode = selectedCaptionLanguage.key.toString();
|
19552
19597
|
if (isCaptionsFeatureActive) {
|
@@ -20634,7 +20679,7 @@ const findConditionalCompiledSelector = (component) => {
|
|
20634
20679
|
|
20635
20680
|
// Copyright (c) Microsoft Corporation.
|
20636
20681
|
// Licensed under the MIT License.
|
20637
|
-
var __awaiter$
|
20682
|
+
var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
20638
20683
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
20639
20684
|
return new (P || (P = Promise))(function (resolve, reject) {
|
20640
20685
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -20657,35 +20702,35 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
20657
20702
|
let messageIterator = undefined;
|
20658
20703
|
let readReceiptIterator = undefined;
|
20659
20704
|
return {
|
20660
|
-
onSendMessage: (content, options) => __awaiter$
|
20705
|
+
onSendMessage: (content, options) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20661
20706
|
const sendMessageRequest = {
|
20662
20707
|
content,
|
20663
20708
|
senderDisplayName: chatClient.getState().displayName
|
20664
20709
|
};
|
20665
20710
|
yield chatThreadClient.sendMessage(sendMessageRequest, options);
|
20666
20711
|
}),
|
20667
|
-
onUpdateMessage: (messageId, content, options) => __awaiter$
|
20712
|
+
onUpdateMessage: (messageId, content, options) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20668
20713
|
const updatedMetadata = (options === null || options === void 0 ? void 0 : options.metadata) ? Object.assign({}, options.metadata) : {};
|
20669
20714
|
updatedMetadata.fileSharingMetadata = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachmentMetadata) || []);
|
20670
20715
|
yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
|
20671
20716
|
}),
|
20672
|
-
onDeleteMessage: (messageId) => __awaiter$
|
20717
|
+
onDeleteMessage: (messageId) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20673
20718
|
yield chatThreadClient.deleteMessage(messageId);
|
20674
20719
|
}),
|
20675
20720
|
// This handler is designed for chatThread to consume
|
20676
|
-
onMessageSeen: (chatMessageId) => __awaiter$
|
20721
|
+
onMessageSeen: (chatMessageId) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20677
20722
|
yield chatThreadClient.sendReadReceipt({ chatMessageId });
|
20678
20723
|
}),
|
20679
|
-
onTyping: () => __awaiter$
|
20724
|
+
onTyping: () => __awaiter$r(void 0, void 0, void 0, function* () {
|
20680
20725
|
yield chatThreadClient.sendTypingNotification();
|
20681
20726
|
}),
|
20682
|
-
onRemoveParticipant: (userId) => __awaiter$
|
20727
|
+
onRemoveParticipant: (userId) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20683
20728
|
yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
|
20684
20729
|
}),
|
20685
|
-
updateThreadTopicName: (topicName) => __awaiter$
|
20730
|
+
updateThreadTopicName: (topicName) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20686
20731
|
yield chatThreadClient.updateTopic(topicName);
|
20687
20732
|
}),
|
20688
|
-
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$
|
20733
|
+
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$r(void 0, void 0, void 0, function* () {
|
20689
20734
|
var _a, _b, _c;
|
20690
20735
|
if (messageIterator === undefined) {
|
20691
20736
|
// Lazy definition so that errors in the method call are reported correctly.
|
@@ -21594,7 +21639,7 @@ const chatStatefulLogger = logger.createClientLogger('communication-react:chat-s
|
|
21594
21639
|
|
21595
21640
|
// Copyright (c) Microsoft Corporation.
|
21596
21641
|
// Licensed under the MIT License.
|
21597
|
-
var __awaiter$
|
21642
|
+
var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
21598
21643
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
21599
21644
|
return new (P || (P = Promise))(function (resolve, reject) {
|
21600
21645
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -21869,7 +21914,7 @@ let ChatContext$1 = class ChatContext {
|
|
21869
21914
|
* @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
|
21870
21915
|
*/
|
21871
21916
|
withAsyncErrorTeedToState(f, target) {
|
21872
|
-
return (...args) => __awaiter$
|
21917
|
+
return (...args) => __awaiter$q(this, void 0, void 0, function* () {
|
21873
21918
|
try {
|
21874
21919
|
return yield f(...args);
|
21875
21920
|
}
|
@@ -21981,7 +22026,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
|
|
21981
22026
|
|
21982
22027
|
// Copyright (c) Microsoft Corporation.
|
21983
22028
|
// Licensed under the MIT License.
|
21984
|
-
var __awaiter$
|
22029
|
+
var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
21985
22030
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
21986
22031
|
return new (P || (P = Promise))(function (resolve, reject) {
|
21987
22032
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -22070,7 +22115,7 @@ class EventSubscriber {
|
|
22070
22115
|
};
|
22071
22116
|
// This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.
|
22072
22117
|
// Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.
|
22073
|
-
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$
|
22118
|
+
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$p(this, void 0, void 0, function* () {
|
22074
22119
|
var _a, e_1, _b, _c;
|
22075
22120
|
try {
|
22076
22121
|
for (var _d = true, _e = __asyncValues$1(this.chatClient
|
@@ -22164,7 +22209,7 @@ class EventSubscriber {
|
|
22164
22209
|
|
22165
22210
|
// Copyright (c) Microsoft Corporation.
|
22166
22211
|
// Licensed under the MIT License.
|
22167
|
-
var __awaiter$
|
22212
|
+
var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22168
22213
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
22169
22214
|
return new (P || (P = Promise))(function (resolve, reject) {
|
22170
22215
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -22186,7 +22231,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
22186
22231
|
const threadsIterator = iteratorCreator(...args);
|
22187
22232
|
return {
|
22188
22233
|
next() {
|
22189
|
-
return __awaiter$
|
22234
|
+
return __awaiter$o(this, void 0, void 0, function* () {
|
22190
22235
|
const result = yield threadsIterator.next();
|
22191
22236
|
if (!result.done && result.value) {
|
22192
22237
|
decorateFn(result.value, context);
|
@@ -22201,7 +22246,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
22201
22246
|
const pages = threadsIterator.byPage(settings);
|
22202
22247
|
return {
|
22203
22248
|
next() {
|
22204
|
-
return __awaiter$
|
22249
|
+
return __awaiter$o(this, void 0, void 0, function* () {
|
22205
22250
|
const result = yield pages.next();
|
22206
22251
|
const page = result.value;
|
22207
22252
|
if (!result.done && result.value) {
|
@@ -22288,7 +22333,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
|
|
22288
22333
|
|
22289
22334
|
// Copyright (c) Microsoft Corporation.
|
22290
22335
|
// Licensed under the MIT License.
|
22291
|
-
var __awaiter$
|
22336
|
+
var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22292
22337
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
22293
22338
|
return new (P || (P = Promise))(function (resolve, reject) {
|
22294
22339
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -22307,14 +22352,14 @@ class ProxyChatThreadClient {
|
|
22307
22352
|
return createDecoratedListMessages(chatThreadClient, this._context);
|
22308
22353
|
}
|
22309
22354
|
case 'getMessage': {
|
22310
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22355
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22311
22356
|
const message = yield chatThreadClient.getMessage(...args);
|
22312
22357
|
this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
|
22313
22358
|
return message;
|
22314
22359
|
}), 'ChatThreadClient.getMessage');
|
22315
22360
|
}
|
22316
22361
|
case 'sendMessage': {
|
22317
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22362
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22318
22363
|
var _a;
|
22319
22364
|
// Retry logic?
|
22320
22365
|
const [request, options] = args;
|
@@ -22355,7 +22400,7 @@ class ProxyChatThreadClient {
|
|
22355
22400
|
}), 'ChatThreadClient.sendMessage');
|
22356
22401
|
}
|
22357
22402
|
case 'addParticipants': {
|
22358
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22403
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22359
22404
|
const result = yield chatThreadClient.addParticipants(...args);
|
22360
22405
|
const [addRequest] = args;
|
22361
22406
|
const participantsToAdd = addRequest.participants;
|
@@ -22364,7 +22409,7 @@ class ProxyChatThreadClient {
|
|
22364
22409
|
}), 'ChatThreadClient.addParticipants');
|
22365
22410
|
}
|
22366
22411
|
case 'deleteMessage': {
|
22367
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22412
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22368
22413
|
// DeleteMessage is able to either delete local one(for failed message) or synced message
|
22369
22414
|
const [messageId] = args;
|
22370
22415
|
if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
|
@@ -22382,12 +22427,12 @@ class ProxyChatThreadClient {
|
|
22382
22427
|
return createDecoratedListReadReceipts(chatThreadClient, this._context);
|
22383
22428
|
}
|
22384
22429
|
case 'sendTypingNotification': {
|
22385
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22430
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22386
22431
|
return yield chatThreadClient.sendTypingNotification(...args);
|
22387
22432
|
}), 'ChatThreadClient.sendTypingNotification');
|
22388
22433
|
}
|
22389
22434
|
case 'removeParticipant': {
|
22390
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22435
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22391
22436
|
const result = yield chatThreadClient.removeParticipant(...args);
|
22392
22437
|
const [removeIdentifier] = args;
|
22393
22438
|
this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
|
@@ -22395,7 +22440,7 @@ class ProxyChatThreadClient {
|
|
22395
22440
|
}), 'ChatThreadClient.removeParticipant');
|
22396
22441
|
}
|
22397
22442
|
case 'updateMessage': {
|
22398
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22443
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22399
22444
|
const result = yield chatThreadClient.updateMessage(...args);
|
22400
22445
|
const [messageId, updateOption] = args;
|
22401
22446
|
this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
|
@@ -22403,7 +22448,7 @@ class ProxyChatThreadClient {
|
|
22403
22448
|
}), 'ChatThreadClient.updateMessage');
|
22404
22449
|
}
|
22405
22450
|
case 'updateTopic': {
|
22406
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22451
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22407
22452
|
const result = yield chatThreadClient.updateTopic(...args);
|
22408
22453
|
const [topic] = args;
|
22409
22454
|
this._context.updateThreadTopic(chatThreadClient.threadId, topic);
|
@@ -22411,7 +22456,7 @@ class ProxyChatThreadClient {
|
|
22411
22456
|
}), 'ChatThreadClient.updateTopic');
|
22412
22457
|
}
|
22413
22458
|
case 'getProperties': {
|
22414
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
22459
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
|
22415
22460
|
const result = yield chatThreadClient.getProperties(...args);
|
22416
22461
|
this._context.updateThread(chatThreadClient.threadId, result);
|
22417
22462
|
return result;
|
@@ -22449,7 +22494,7 @@ const createDecoratedListThreads = (chatClient, context) => {
|
|
22449
22494
|
|
22450
22495
|
// Copyright (c) Microsoft Corporation.
|
22451
22496
|
// Licensed under the MIT License.
|
22452
|
-
var __awaiter$
|
22497
|
+
var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22453
22498
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
22454
22499
|
return new (P || (P = Promise))(function (resolve, reject) {
|
22455
22500
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -22468,7 +22513,7 @@ const proxyChatClient = {
|
|
22468
22513
|
switch (prop) {
|
22469
22514
|
case 'createChatThread': {
|
22470
22515
|
return context.withAsyncErrorTeedToState(function (...args) {
|
22471
|
-
return __awaiter$
|
22516
|
+
return __awaiter$m(this, void 0, void 0, function* () {
|
22472
22517
|
const result = yield chatClient.createChatThread(...args);
|
22473
22518
|
const thread = result.chatThread;
|
22474
22519
|
if (thread) {
|
@@ -22481,7 +22526,7 @@ const proxyChatClient = {
|
|
22481
22526
|
}
|
22482
22527
|
case 'deleteChatThread': {
|
22483
22528
|
return context.withAsyncErrorTeedToState(function (...args) {
|
22484
|
-
return __awaiter$
|
22529
|
+
return __awaiter$m(this, void 0, void 0, function* () {
|
22485
22530
|
const result = yield chatClient.deleteChatThread(...args);
|
22486
22531
|
context.deleteThread(args[0]);
|
22487
22532
|
return result;
|
@@ -22501,7 +22546,7 @@ const proxyChatClient = {
|
|
22501
22546
|
}
|
22502
22547
|
case 'startRealtimeNotifications': {
|
22503
22548
|
return context.withAsyncErrorTeedToState(function (...args) {
|
22504
|
-
return __awaiter$
|
22549
|
+
return __awaiter$m(this, void 0, void 0, function* () {
|
22505
22550
|
const ret = yield chatClient.startRealtimeNotifications(...args);
|
22506
22551
|
if (!receiver.eventSubscriber) {
|
22507
22552
|
receiver.eventSubscriber = new EventSubscriber(chatClient, context);
|
@@ -22512,7 +22557,7 @@ const proxyChatClient = {
|
|
22512
22557
|
}
|
22513
22558
|
case 'stopRealtimeNotifications': {
|
22514
22559
|
return context.withAsyncErrorTeedToState(function (...args) {
|
22515
|
-
return __awaiter$
|
22560
|
+
return __awaiter$m(this, void 0, void 0, function* () {
|
22516
22561
|
const ret = yield chatClient.stopRealtimeNotifications(...args);
|
22517
22562
|
if (receiver.eventSubscriber) {
|
22518
22563
|
receiver.eventSubscriber.unsubscribe();
|
@@ -22706,7 +22751,9 @@ const COMPOSITE_ONLY_ICONS = {
|
|
22706
22751
|
/* @conditional-compile-remove(gallery-layouts) */
|
22707
22752
|
LargeGalleryLayout: React.createElement(reactIcons.Table20Regular, null),
|
22708
22753
|
/* @conditional-compile-remove(control-bar-button-injection) */
|
22709
|
-
DefaultCustomButton: React.createElement(reactIcons.Circle20Regular, null)
|
22754
|
+
DefaultCustomButton: React.createElement(reactIcons.Circle20Regular, null),
|
22755
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
22756
|
+
DtmfDialpadButton: React.createElement(reactIcons.Dialpad20Regular, null)
|
22710
22757
|
};
|
22711
22758
|
/**
|
22712
22759
|
* The default set of icons that are available to used in the Composites.
|
@@ -22739,7 +22786,7 @@ const CallCompositeIcon = (props) => (React.createElement(react.FontIcon, Object
|
|
22739
22786
|
*/
|
22740
22787
|
const CallWithChatCompositeIcon = (props) => (React.createElement(react.FontIcon, Object.assign({}, props)));
|
22741
22788
|
|
22742
|
-
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyQuestion:"How was your call today?",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
22789
|
+
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyQuestion:"How was your call today?",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
22743
22790
|
|
22744
22791
|
// Copyright (c) Microsoft Corporation.
|
22745
22792
|
// Licensed under the MIT License.
|
@@ -22996,7 +23043,7 @@ const convertObservableFileUploadToFileUploadsUiState = (fileUploads) => {
|
|
22996
23043
|
|
22997
23044
|
// Copyright (c) Microsoft Corporation.
|
22998
23045
|
// Licensed under the MIT License.
|
22999
|
-
var __awaiter$
|
23046
|
+
var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
23000
23047
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
23001
23048
|
return new (P || (P = Promise))(function (resolve, reject) {
|
23002
23049
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -23131,9 +23178,9 @@ class AzureCommunicationChatAdapter {
|
|
23131
23178
|
this.unsubscribeAllEvents();
|
23132
23179
|
}
|
23133
23180
|
fetchInitialData() {
|
23134
|
-
return __awaiter$
|
23181
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23135
23182
|
// If get properties fails we dont want to try to get the participants after.
|
23136
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23183
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23137
23184
|
var _a, e_1, _b, _c;
|
23138
23185
|
yield this.chatThreadClient.getProperties();
|
23139
23186
|
try {
|
@@ -23169,8 +23216,8 @@ class AzureCommunicationChatAdapter {
|
|
23169
23216
|
this.context.offStateChange(handler);
|
23170
23217
|
}
|
23171
23218
|
sendMessage(content, options = {}) {
|
23172
|
-
return __awaiter$
|
23173
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23219
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23220
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23174
23221
|
/* @conditional-compile-remove(file-sharing) */
|
23175
23222
|
options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
|
23176
23223
|
/* @conditional-compile-remove(file-sharing) */
|
@@ -23187,43 +23234,43 @@ class AzureCommunicationChatAdapter {
|
|
23187
23234
|
});
|
23188
23235
|
}
|
23189
23236
|
sendReadReceipt(chatMessageId) {
|
23190
|
-
return __awaiter$
|
23191
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23237
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23238
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23192
23239
|
yield this.handlers.onMessageSeen(chatMessageId);
|
23193
23240
|
}));
|
23194
23241
|
});
|
23195
23242
|
}
|
23196
23243
|
sendTypingIndicator() {
|
23197
|
-
return __awaiter$
|
23198
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23244
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23245
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23199
23246
|
yield this.handlers.onTyping();
|
23200
23247
|
}));
|
23201
23248
|
});
|
23202
23249
|
}
|
23203
23250
|
removeParticipant(userId) {
|
23204
|
-
return __awaiter$
|
23205
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23251
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23252
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23206
23253
|
yield this.handlers.onRemoveParticipant(userId);
|
23207
23254
|
}));
|
23208
23255
|
});
|
23209
23256
|
}
|
23210
23257
|
setTopic(topicName) {
|
23211
|
-
return __awaiter$
|
23212
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23258
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23259
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23213
23260
|
yield this.handlers.updateThreadTopicName(topicName);
|
23214
23261
|
}));
|
23215
23262
|
});
|
23216
23263
|
}
|
23217
23264
|
loadPreviousChatMessages(messagesToLoad) {
|
23218
|
-
return __awaiter$
|
23219
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23265
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23266
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23220
23267
|
return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
|
23221
23268
|
}));
|
23222
23269
|
});
|
23223
23270
|
}
|
23224
23271
|
updateMessage(messageId, content, metadata, options) {
|
23225
|
-
return __awaiter$
|
23226
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23272
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23273
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23227
23274
|
/* @conditional-compile-remove(file-sharing) */
|
23228
23275
|
const updatedOptions = options ? { attachmentMetadata: options.attachmentMetadata, metadata: metadata } : {};
|
23229
23276
|
/* @conditional-compile-remove(file-sharing) */
|
@@ -23232,8 +23279,8 @@ class AzureCommunicationChatAdapter {
|
|
23232
23279
|
});
|
23233
23280
|
}
|
23234
23281
|
deleteMessage(messageId) {
|
23235
|
-
return __awaiter$
|
23236
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23282
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23283
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23237
23284
|
return yield this.handlers.onDeleteMessage(messageId);
|
23238
23285
|
}));
|
23239
23286
|
});
|
@@ -23268,8 +23315,8 @@ class AzureCommunicationChatAdapter {
|
|
23268
23315
|
}
|
23269
23316
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23270
23317
|
downloadAttachments(options) {
|
23271
|
-
return __awaiter$
|
23272
|
-
return this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
23318
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23319
|
+
return this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
|
23273
23320
|
if (this.credential === undefined) {
|
23274
23321
|
throw new ChatError('ChatThreadClient.getMessage', new Error('AccessToken is null'));
|
23275
23322
|
}
|
@@ -23283,9 +23330,9 @@ class AzureCommunicationChatAdapter {
|
|
23283
23330
|
}
|
23284
23331
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23285
23332
|
downloadAuthenticatedFile(accessToken, options) {
|
23286
|
-
return __awaiter$
|
23333
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23287
23334
|
function fetchWithAuthentication(url, token) {
|
23288
|
-
return __awaiter$
|
23335
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23289
23336
|
const headers = new Headers();
|
23290
23337
|
headers.append('Authorization', `Bearer ${token}`);
|
23291
23338
|
try {
|
@@ -23377,7 +23424,7 @@ class AzureCommunicationChatAdapter {
|
|
23377
23424
|
this.emitter.off(event, listener);
|
23378
23425
|
}
|
23379
23426
|
asyncTeeErrorToEventEmitter(f) {
|
23380
|
-
return __awaiter$
|
23427
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23381
23428
|
try {
|
23382
23429
|
return yield f();
|
23383
23430
|
}
|
@@ -23427,7 +23474,7 @@ const convertEventType = (type) => {
|
|
23427
23474
|
*
|
23428
23475
|
* @public
|
23429
23476
|
*/
|
23430
|
-
const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$
|
23477
|
+
const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$l(void 0, void 0, void 0, function* () {
|
23431
23478
|
return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);
|
23432
23479
|
});
|
23433
23480
|
/**
|
@@ -23435,7 +23482,7 @@ const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, di
|
|
23435
23482
|
*
|
23436
23483
|
* @internal
|
23437
23484
|
*/
|
23438
|
-
const _createAzureCommunicationChatAdapterInner = (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') => __awaiter$
|
23485
|
+
const _createAzureCommunicationChatAdapterInner = (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') => __awaiter$l(void 0, void 0, void 0, function* () {
|
23439
23486
|
if (!_isValidIdentifier(userId)) {
|
23440
23487
|
throw new Error('Provided userId is invalid. Please provide valid identifier object.');
|
23441
23488
|
}
|
@@ -23504,7 +23551,7 @@ beforeDispose) => {
|
|
23504
23551
|
if (!credential || !displayName || !endpoint || !threadId || !userId) {
|
23505
23552
|
return;
|
23506
23553
|
}
|
23507
|
-
(() => __awaiter$
|
23554
|
+
(() => __awaiter$l(void 0, void 0, void 0, function* () {
|
23508
23555
|
if (adapterRef.current) {
|
23509
23556
|
// Dispose the old adapter when a new one is created.
|
23510
23557
|
//
|
@@ -23536,7 +23583,7 @@ beforeDispose) => {
|
|
23536
23583
|
// Dispose any existing adapter when the component unmounts.
|
23537
23584
|
React.useEffect(() => {
|
23538
23585
|
return () => {
|
23539
|
-
(() => __awaiter$
|
23586
|
+
(() => __awaiter$l(void 0, void 0, void 0, function* () {
|
23540
23587
|
if (adapterRef.current) {
|
23541
23588
|
if (beforeDisposeRef.current) {
|
23542
23589
|
yield beforeDisposeRef.current(adapterRef.current);
|
@@ -23560,7 +23607,7 @@ beforeDispose) => {
|
|
23560
23607
|
function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient,
|
23561
23608
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23562
23609
|
options) {
|
23563
|
-
return __awaiter$
|
23610
|
+
return __awaiter$l(this, void 0, void 0, function* () {
|
23564
23611
|
return new AzureCommunicationChatAdapter(chatClient, chatThreadClient,
|
23565
23612
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options);
|
23566
23613
|
});
|
@@ -23794,7 +23841,7 @@ const sendboxContainerStyles = {
|
|
23794
23841
|
|
23795
23842
|
// Copyright (c) Microsoft Corporation.
|
23796
23843
|
// Licensed under the MIT License.
|
23797
|
-
var __awaiter$
|
23844
|
+
var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
23798
23845
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
23799
23846
|
return new (P || (P = Promise))(function (resolve, reject) {
|
23800
23847
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -23815,7 +23862,7 @@ const AvatarPersona = (props) => {
|
|
23815
23862
|
const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
|
23816
23863
|
const [data, setData] = React.useState();
|
23817
23864
|
React.useEffect(() => {
|
23818
|
-
(() => __awaiter$
|
23865
|
+
(() => __awaiter$k(void 0, void 0, void 0, function* () {
|
23819
23866
|
if (dataProvider && userId) {
|
23820
23867
|
const newData = yield dataProvider(userId);
|
23821
23868
|
if (avatarDeepDifferenceCheck(data, newData)) {
|
@@ -24232,7 +24279,7 @@ const FileDownloadErrorBar = (props) => {
|
|
24232
24279
|
|
24233
24280
|
// Copyright (c) Microsoft Corporation.
|
24234
24281
|
// Licensed under the MIT License.
|
24235
|
-
var __awaiter$
|
24282
|
+
var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
24236
24283
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
24237
24284
|
return new (P || (P = Promise))(function (resolve, reject) {
|
24238
24285
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -24259,7 +24306,7 @@ const ChatScreen = (props) => {
|
|
24259
24306
|
const theme = useTheme();
|
24260
24307
|
React.useEffect(() => {
|
24261
24308
|
// Initial data should be always fetched by the composite(or external caller) instead of the adapter
|
24262
|
-
const fetchData = () => __awaiter$
|
24309
|
+
const fetchData = () => __awaiter$j(void 0, void 0, void 0, function* () {
|
24263
24310
|
// Fetch initial data for adapter
|
24264
24311
|
yield adapter.fetchInitialData();
|
24265
24312
|
// Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.
|
@@ -24299,7 +24346,7 @@ const ChatScreen = (props) => {
|
|
24299
24346
|
setDownloadErrorMessage(errorMessage);
|
24300
24347
|
} })), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
|
24301
24348
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
24302
|
-
const onRenderInlineAttachment = React.useCallback((attachment) => __awaiter$
|
24349
|
+
const onRenderInlineAttachment = React.useCallback((attachment) => __awaiter$j(void 0, void 0, void 0, function* () {
|
24303
24350
|
const entry = {};
|
24304
24351
|
attachment.forEach((target) => {
|
24305
24352
|
if (target.attachmentType === 'inlineImage' && target.previewUrl) {
|
@@ -24310,7 +24357,7 @@ const ChatScreen = (props) => {
|
|
24310
24357
|
return blob;
|
24311
24358
|
}), [adapter]);
|
24312
24359
|
/* @conditional-compile-remove(image-gallery) */
|
24313
|
-
const onInlineImageClicked = React.useCallback((attachmentId, messageId) => __awaiter$
|
24360
|
+
const onInlineImageClicked = React.useCallback((attachmentId, messageId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
24314
24361
|
var _a, _b;
|
24315
24362
|
const messages = (_a = messageThreadProps.messages) === null || _a === void 0 ? void 0 : _a.filter((message) => {
|
24316
24363
|
return message.messageId === messageId;
|
@@ -24607,7 +24654,7 @@ const END_CALL_PAGES = [
|
|
24607
24654
|
|
24608
24655
|
// Copyright (c) Microsoft Corporation.
|
24609
24656
|
// Licensed under the MIT License.
|
24610
|
-
var __awaiter$
|
24657
|
+
var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
24611
24658
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
24612
24659
|
return new (P || (P = Promise))(function (resolve, reject) {
|
24613
24660
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -24930,7 +24977,7 @@ const isDisabled$4 = (option) => {
|
|
24930
24977
|
/**
|
24931
24978
|
* @returns Permissions state for the camera.
|
24932
24979
|
*/
|
24933
|
-
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$
|
24980
|
+
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$i(void 0, void 0, void 0, function* () {
|
24934
24981
|
try {
|
24935
24982
|
return (yield navigator.permissions.query({ name: 'camera' })).state;
|
24936
24983
|
}
|
@@ -24943,7 +24990,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0
|
|
24943
24990
|
/**
|
24944
24991
|
* @returns Permissions state for the microphone.
|
24945
24992
|
*/
|
24946
|
-
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$
|
24993
|
+
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$i(void 0, void 0, void 0, function* () {
|
24947
24994
|
try {
|
24948
24995
|
return (yield navigator.permissions.query({ name: 'microphone' })).state;
|
24949
24996
|
}
|
@@ -24960,7 +25007,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$h(void 0, vo
|
|
24960
25007
|
* If permission API is not supported on this browser, permission state is set to unsupported.
|
24961
25008
|
* @private
|
24962
25009
|
*/
|
24963
|
-
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$
|
25010
|
+
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$i(void 0, void 0, void 0, function* () {
|
24964
25011
|
const [cameraResult, microphoneResult] = yield Promise.all([
|
24965
25012
|
queryCameraPermissionFromPermissionsAPI(),
|
24966
25013
|
queryMicrophonePermissionFromPermissionsAPI()
|
@@ -25038,7 +25085,7 @@ const getSelectedCameraFromAdapterState = (state) => state.devices.selectedCamer
|
|
25038
25085
|
|
25039
25086
|
// Copyright (c) Microsoft Corporation.
|
25040
25087
|
// Licensed under the MIT License.
|
25041
|
-
var __awaiter$
|
25088
|
+
var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
25042
25089
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
25043
25090
|
return new (P || (P = Promise))(function (resolve, reject) {
|
25044
25091
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -25057,143 +25104,143 @@ _component) => {
|
|
25057
25104
|
return createCompositeHandlers(useAdapter());
|
25058
25105
|
};
|
25059
25106
|
const createCompositeHandlers = memoizeOne((adapter) => ({
|
25060
|
-
onCreateLocalStreamView: (options) => __awaiter$
|
25107
|
+
onCreateLocalStreamView: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25061
25108
|
return yield adapter.createStreamView(undefined, options);
|
25062
25109
|
}),
|
25063
|
-
onCreateRemoteStreamView: (userId, options) => __awaiter$
|
25110
|
+
onCreateRemoteStreamView: (userId, options) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25064
25111
|
return yield adapter.createStreamView(userId, options);
|
25065
25112
|
}),
|
25066
|
-
onHangUp: (forEveryone) => __awaiter$
|
25113
|
+
onHangUp: (forEveryone) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25067
25114
|
yield adapter.leaveCall(forEveryone);
|
25068
25115
|
}),
|
25069
25116
|
/* @conditional-compile-remove(PSTN-calls) */
|
25070
|
-
onToggleHold: () => __awaiter$
|
25117
|
+
onToggleHold: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25071
25118
|
var _a;
|
25072
25119
|
return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
|
25073
25120
|
}),
|
25074
25121
|
/* @conditional-compile-remove(PSTN-calls) */
|
25075
|
-
onAddParticipant: (participant, options) => __awaiter$
|
25122
|
+
onAddParticipant: (participant, options) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25076
25123
|
return yield adapter.addParticipant(participant, options);
|
25077
25124
|
}),
|
25078
25125
|
/* @conditional-compile-remove(PSTN-calls) */
|
25079
|
-
onSendDtmfTone: (dtmfTone) => __awaiter$
|
25126
|
+
onSendDtmfTone: (dtmfTone) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25080
25127
|
yield adapter.sendDtmfTone(dtmfTone);
|
25081
25128
|
}),
|
25082
|
-
onRemoveParticipant: (userId) => __awaiter$
|
25129
|
+
onRemoveParticipant: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25083
25130
|
yield adapter.removeParticipant(userId);
|
25084
25131
|
}),
|
25085
25132
|
/* @conditional-compile-remove(raise-hand) */
|
25086
|
-
onRaiseHand: () => __awaiter$
|
25133
|
+
onRaiseHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25087
25134
|
yield adapter.raiseHand();
|
25088
25135
|
}),
|
25089
25136
|
/* @conditional-compile-remove(raise-hand) */
|
25090
|
-
onLowerHand: () => __awaiter$
|
25137
|
+
onLowerHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25091
25138
|
yield adapter.lowerHand();
|
25092
25139
|
}),
|
25093
25140
|
/* @conditional-compile-remove(raise-hand) */
|
25094
|
-
onToggleRaiseHand: () => __awaiter$
|
25141
|
+
onToggleRaiseHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25095
25142
|
var _b;
|
25096
25143
|
((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
|
25097
25144
|
? yield adapter.lowerHand()
|
25098
25145
|
: yield adapter.raiseHand();
|
25099
25146
|
}),
|
25100
25147
|
/* @conditional-compile-remove(reaction) */
|
25101
|
-
onReactionClicked: (reaction) => __awaiter$
|
25148
|
+
onReactionClicked: (reaction) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25102
25149
|
yield adapter.onReactionClicked(reaction);
|
25103
25150
|
}),
|
25104
|
-
onSelectCamera: (deviceInfo, options) => __awaiter$
|
25151
|
+
onSelectCamera: (deviceInfo, options) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25105
25152
|
yield adapter.setCamera(deviceInfo, options);
|
25106
25153
|
}),
|
25107
|
-
onSelectMicrophone: (deviceInfo) => __awaiter$
|
25154
|
+
onSelectMicrophone: (deviceInfo) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25108
25155
|
yield adapter.setMicrophone(deviceInfo);
|
25109
25156
|
}),
|
25110
|
-
onSelectSpeaker: (deviceInfo) => __awaiter$
|
25157
|
+
onSelectSpeaker: (deviceInfo) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25111
25158
|
yield adapter.setSpeaker(deviceInfo);
|
25112
25159
|
}),
|
25113
25160
|
onStartCall: (participants, options) => {
|
25114
25161
|
const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
|
25115
25162
|
return adapter.startCall(rawIds, options);
|
25116
25163
|
},
|
25117
|
-
onStartScreenShare: () => __awaiter$
|
25164
|
+
onStartScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25118
25165
|
yield adapter.startScreenShare();
|
25119
25166
|
}),
|
25120
|
-
onStopScreenShare: () => __awaiter$
|
25167
|
+
onStopScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25121
25168
|
yield adapter.stopScreenShare();
|
25122
25169
|
}),
|
25123
|
-
onToggleCamera: (options) => __awaiter$
|
25170
|
+
onToggleCamera: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25124
25171
|
isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
|
25125
25172
|
}),
|
25126
|
-
onToggleMicrophone: () => __awaiter$
|
25173
|
+
onToggleMicrophone: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25127
25174
|
var _c;
|
25128
25175
|
return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
|
25129
25176
|
}),
|
25130
|
-
onToggleScreenShare: () => __awaiter$
|
25177
|
+
onToggleScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25131
25178
|
var _d;
|
25132
25179
|
return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
|
25133
25180
|
? yield adapter.stopScreenShare()
|
25134
25181
|
: yield adapter.startScreenShare();
|
25135
25182
|
}),
|
25136
|
-
onStartLocalVideo: () => __awaiter$
|
25183
|
+
onStartLocalVideo: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25137
25184
|
if (adapter.getState().call) {
|
25138
25185
|
return adapter.startCamera();
|
25139
25186
|
}
|
25140
25187
|
}),
|
25141
|
-
onDisposeLocalStreamView: () => __awaiter$
|
25188
|
+
onDisposeLocalStreamView: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25142
25189
|
return adapter.disposeLocalVideoStreamView();
|
25143
25190
|
}),
|
25144
|
-
onDisposeRemoteStreamView: (userId) => __awaiter$
|
25191
|
+
onDisposeRemoteStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25145
25192
|
return adapter.disposeStreamView(userId);
|
25146
25193
|
}),
|
25147
|
-
onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$
|
25194
|
+
onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25148
25195
|
return adapter.disposeScreenShareStreamView(userId);
|
25149
25196
|
}),
|
25150
|
-
onDisposeRemoteVideoStreamView: (userId) => __awaiter$
|
25197
|
+
onDisposeRemoteVideoStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25151
25198
|
return adapter.disposeRemoteVideoStreamView(userId);
|
25152
25199
|
}),
|
25153
25200
|
/* @conditional-compile-remove(call-readiness) */
|
25154
|
-
askDevicePermission: (constrain) => __awaiter$
|
25201
|
+
askDevicePermission: (constrain) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25155
25202
|
return adapter.askDevicePermission(constrain);
|
25156
25203
|
}),
|
25157
25204
|
/* @conditional-compile-remove(video-background-effects) */
|
25158
|
-
onRemoveVideoBackgroundEffects: () => __awaiter$
|
25205
|
+
onRemoveVideoBackgroundEffects: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25159
25206
|
return yield adapter.stopVideoBackgroundEffects();
|
25160
25207
|
}),
|
25161
25208
|
/* @conditional-compile-remove(video-background-effects) */
|
25162
|
-
onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$
|
25209
|
+
onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25163
25210
|
const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
|
25164
25211
|
return yield adapter.startVideoBackgroundEffect(blurConfig);
|
25165
25212
|
}),
|
25166
25213
|
/* @conditional-compile-remove(video-background-effects) */
|
25167
|
-
onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$
|
25214
|
+
onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25168
25215
|
const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
|
25169
25216
|
return yield adapter.startVideoBackgroundEffect(replacementConfig);
|
25170
25217
|
}),
|
25171
25218
|
/* @conditional-compile-remove(close-captions) */
|
25172
|
-
onStartCaptions: (options) => __awaiter$
|
25219
|
+
onStartCaptions: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25173
25220
|
yield adapter.startCaptions(options);
|
25174
25221
|
}),
|
25175
25222
|
/* @conditional-compile-remove(close-captions) */
|
25176
|
-
onStopCaptions: () => __awaiter$
|
25223
|
+
onStopCaptions: () => __awaiter$h(void 0, void 0, void 0, function* () {
|
25177
25224
|
yield adapter.stopCaptions();
|
25178
25225
|
}),
|
25179
25226
|
/* @conditional-compile-remove(close-captions) */
|
25180
|
-
onSetSpokenLanguage: (language) => __awaiter$
|
25227
|
+
onSetSpokenLanguage: (language) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25181
25228
|
yield adapter.setSpokenLanguage(language);
|
25182
25229
|
}),
|
25183
25230
|
/* @conditional-compile-remove(close-captions) */
|
25184
|
-
onSetCaptionLanguage: (language) => __awaiter$
|
25231
|
+
onSetCaptionLanguage: (language) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25185
25232
|
yield adapter.setCaptionLanguage(language);
|
25186
25233
|
}),
|
25187
25234
|
/* @conditional-compile-remove(end-of-call-survey) */
|
25188
|
-
onSubmitSurvey: (survey) => __awaiter$
|
25235
|
+
onSubmitSurvey: (survey) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25189
25236
|
return yield adapter.submitSurvey(survey);
|
25190
25237
|
}),
|
25191
25238
|
/* @conditional-compile-remove(spotlight) */
|
25192
|
-
onStartSpotlight: (userId) => __awaiter$
|
25239
|
+
onStartSpotlight: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25193
25240
|
yield adapter.startSpotlight(userId);
|
25194
25241
|
}),
|
25195
25242
|
/* @conditional-compile-remove(spotlight) */
|
25196
|
-
onStopSpotlight: (userId) => __awaiter$
|
25243
|
+
onStopSpotlight: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
|
25197
25244
|
yield adapter.stopSpotlight(userId);
|
25198
25245
|
})
|
25199
25246
|
}));
|
@@ -25327,17 +25374,17 @@ const concatButtonBaseStyles = (...styles) => {
|
|
25327
25374
|
|
25328
25375
|
// Copyright (c) Microsoft Corporation.
|
25329
25376
|
// Licensed under the MIT License.
|
25330
|
-
const icon$
|
25377
|
+
const icon$3 = () => React.createElement(reactIcons.MoreHorizontal20Filled, { key: 'chatOnIconKey', primaryFill: "currentColor" });
|
25331
25378
|
/**
|
25332
25379
|
* @private
|
25333
25380
|
*/
|
25334
25381
|
const MoreButton = (props) => {
|
25335
|
-
return (React.createElement(ControlBarButton, Object.assign({}, props, { labelKey: 'optionsButtonLabelKey', showLabel: props.showLabel, onRenderOnIcon: icon$
|
25382
|
+
return (React.createElement(ControlBarButton, Object.assign({}, props, { labelKey: 'optionsButtonLabelKey', showLabel: props.showLabel, onRenderOnIcon: icon$3, onRenderOffIcon: icon$3, onClick: props.onClick, "data-ui-id": props['data-ui-id'] })));
|
25336
25383
|
};
|
25337
25384
|
|
25338
25385
|
// Copyright (c) Microsoft Corporation.
|
25339
25386
|
// Licensed under the MIT License.
|
25340
|
-
var __awaiter$
|
25387
|
+
var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
25341
25388
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
25342
25389
|
return new (P || (P = Promise))(function (resolve, reject) {
|
25343
25390
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -25365,7 +25412,7 @@ const CaptionsBannerMoreButton = (props) => {
|
|
25365
25412
|
/* @conditional-compile-remove(close-captions) */
|
25366
25413
|
const moreButtonContextualMenuItems = [];
|
25367
25414
|
/* @conditional-compile-remove(close-captions) */
|
25368
|
-
const startCaptions = React.useCallback(() => __awaiter$
|
25415
|
+
const startCaptions = React.useCallback(() => __awaiter$g(void 0, void 0, void 0, function* () {
|
25369
25416
|
yield startCaptionsButtonHandlers.onStartCaptions({
|
25370
25417
|
spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
|
25371
25418
|
});
|
@@ -25712,6 +25759,10 @@ const getLatestCapabilitiesChangedInfo = (state) => {
|
|
25712
25759
|
var _a, _b;
|
25713
25760
|
return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.latestCapabilitiesChangeInfo;
|
25714
25761
|
};
|
25762
|
+
/**
|
25763
|
+
* @private
|
25764
|
+
*/
|
25765
|
+
const getTargetCallees = (state) => state.targetCallees;
|
25715
25766
|
|
25716
25767
|
// Copyright (c) Microsoft Corporation.
|
25717
25768
|
// Licensed under the MIT License.
|
@@ -25805,7 +25856,7 @@ const isDisabled$2 = (option) => {
|
|
25805
25856
|
|
25806
25857
|
// Copyright (c) Microsoft Corporation.
|
25807
25858
|
// Licensed under the MIT License.
|
25808
|
-
const icon$
|
25859
|
+
const icon$2 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlButtonParticipants' });
|
25809
25860
|
/**
|
25810
25861
|
* @private
|
25811
25862
|
*/
|
@@ -25821,7 +25872,7 @@ const People = (props) => {
|
|
25821
25872
|
}
|
25822
25873
|
}, (_a = props.styles) !== null && _a !== void 0 ? _a : {}, controlButtonBaseStyle);
|
25823
25874
|
}, [props.styles, theme.palette.neutralLight]);
|
25824
|
-
return (React.createElement(ControlBarButton, Object.assign({}, props, { "data-ui-id": "call-composite-participants-button", strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon$
|
25875
|
+
return (React.createElement(ControlBarButton, Object.assign({}, props, { "data-ui-id": "call-composite-participants-button", strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon$2, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon$2, onClick: onClick, styles: styles })));
|
25825
25876
|
};
|
25826
25877
|
|
25827
25878
|
// Copyright (c) Microsoft Corporation.
|
@@ -26438,7 +26489,7 @@ const isRoomsCallTrampoline = (adapter) => {
|
|
26438
26489
|
|
26439
26490
|
// Copyright (c) Microsoft Corporation.
|
26440
26491
|
// Licensed under the MIT License.
|
26441
|
-
const icon = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
|
26492
|
+
const icon$1 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
|
26442
26493
|
/**
|
26443
26494
|
* @private
|
26444
26495
|
*/
|
@@ -26453,7 +26504,7 @@ const PeopleButton = (props) => {
|
|
26453
26504
|
}
|
26454
26505
|
}, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
|
26455
26506
|
}, [props.styles, theme.palette.neutralLight]);
|
26456
|
-
return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon, onClick: onClick, styles: styles })));
|
26507
|
+
return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon$1, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon$1, onClick: onClick, styles: styles })));
|
26457
26508
|
};
|
26458
26509
|
|
26459
26510
|
// Copyright (c) Microsoft Corporation.
|
@@ -26472,7 +26523,152 @@ const useCallWithChatCompositeStrings = () => {
|
|
26472
26523
|
|
26473
26524
|
// Copyright (c) Microsoft Corporation.
|
26474
26525
|
// Licensed under the MIT License.
|
26475
|
-
|
26526
|
+
/**
|
26527
|
+
* @private
|
26528
|
+
*/
|
26529
|
+
const mediaGallerySelector = reselect__namespace.createSelector([getLocalVideoStreams], (localVideoStreams) => {
|
26530
|
+
var _a, _b;
|
26531
|
+
return {
|
26532
|
+
isVideoStreamOn: !!((_b = (_a = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.target)
|
26533
|
+
};
|
26534
|
+
});
|
26535
|
+
/**
|
26536
|
+
* Custom selector for this hook to retrieve all the participants that are currently
|
26537
|
+
* connected to the call.
|
26538
|
+
*/
|
26539
|
+
const getRemoteParticipantsConnectedSelector = reselect__namespace.createSelector([getRemoteParticipants], (remoteParticipants) => {
|
26540
|
+
const participants = Object.values(remoteParticipants !== null && remoteParticipants !== void 0 ? remoteParticipants : {});
|
26541
|
+
return participants.filter((p) => p.state === 'Connected');
|
26542
|
+
});
|
26543
|
+
|
26544
|
+
// Copyright (c) Microsoft Corporation.
|
26545
|
+
// Licensed under the MIT License.
|
26546
|
+
/**
|
26547
|
+
* sets the announcement string whenever a Participant comes or goes from a call to be
|
26548
|
+
* used by the system narrator.
|
26549
|
+
*
|
26550
|
+
* @returns string to be used by the narrator and Announcer component
|
26551
|
+
*
|
26552
|
+
* @internal
|
26553
|
+
*/
|
26554
|
+
const useParticipantChangedAnnouncement = () => {
|
26555
|
+
const locale = useLocale().strings.call;
|
26556
|
+
const strings = React.useMemo(() => {
|
26557
|
+
return {
|
26558
|
+
participantJoinedNoticeString: locale.participantJoinedNoticeString,
|
26559
|
+
twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,
|
26560
|
+
threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,
|
26561
|
+
participantLeftNoticeString: locale.participantLeftNoticeString,
|
26562
|
+
twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,
|
26563
|
+
threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,
|
26564
|
+
unnamedParticipantString: locale.unnamedParticipantString,
|
26565
|
+
manyParticipantsJoined: locale.manyParticipantsJoined,
|
26566
|
+
manyParticipantsLeft: locale.manyParticipantsLeft,
|
26567
|
+
manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,
|
26568
|
+
manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft
|
26569
|
+
};
|
26570
|
+
}, [locale]);
|
26571
|
+
const [announcerString, setAnnouncerString] = React.useState('');
|
26572
|
+
const currentParticipants = useSelector$1(getRemoteParticipantsConnectedSelector);
|
26573
|
+
/**
|
26574
|
+
* We want to use a useRef here since we want to not fire this hook based on the previous participants
|
26575
|
+
* this allows this value to be used in the hook without being in the dependency array.
|
26576
|
+
*
|
26577
|
+
* Note: By definition if this hook is used in another component it is not pure anymore.
|
26578
|
+
*/
|
26579
|
+
const previousParticipants = React.useRef(currentParticipants);
|
26580
|
+
const resetAnnoucement = (string) => {
|
26581
|
+
setAnnouncerString(string);
|
26582
|
+
};
|
26583
|
+
React.useMemo(() => {
|
26584
|
+
const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));
|
26585
|
+
const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));
|
26586
|
+
const whoJoined = currentParticipants.filter((p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));
|
26587
|
+
const whoLeft = previousParticipants.current.filter((p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));
|
26588
|
+
if (whoJoined.length > 0) {
|
26589
|
+
resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));
|
26590
|
+
}
|
26591
|
+
if (whoLeft.length > 0) {
|
26592
|
+
resetAnnoucement(createAnnouncementString('left', whoLeft, strings));
|
26593
|
+
}
|
26594
|
+
// Update cached value at the end.
|
26595
|
+
previousParticipants.current = currentParticipants;
|
26596
|
+
}, [currentParticipants, strings]);
|
26597
|
+
return announcerString;
|
26598
|
+
};
|
26599
|
+
/**
|
26600
|
+
* Generates the announcement string for when a participant joins or leaves a call.
|
26601
|
+
*/
|
26602
|
+
const createAnnouncementString = (direction, participants, strings) => {
|
26603
|
+
var _a, _b, _c;
|
26604
|
+
/**
|
26605
|
+
* If there are no participants return empty string.
|
26606
|
+
*/
|
26607
|
+
if (participants.length === 0) {
|
26608
|
+
return '';
|
26609
|
+
}
|
26610
|
+
/**
|
26611
|
+
* Filter participants into two arrays to put all the unnamed participants at the back of the
|
26612
|
+
* names being announced.
|
26613
|
+
*/
|
26614
|
+
const unnamedParticipants = participants.filter((p) => !p.displayName);
|
26615
|
+
const namedParicipants = participants.filter((p) => p.displayName);
|
26616
|
+
const sortedParticipants = namedParicipants.concat(unnamedParticipants);
|
26617
|
+
/**
|
26618
|
+
* if there are only unnamed participants present in the array announce a special unnamed participants
|
26619
|
+
* only string.
|
26620
|
+
*/
|
26621
|
+
if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {
|
26622
|
+
return _formatString(direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft, {
|
26623
|
+
numOfParticipants: (sortedParticipants.length - 1).toString()
|
26624
|
+
});
|
26625
|
+
}
|
26626
|
+
const participantNames = sortedParticipants.map((p) => { var _a; return (_a = p.displayName) !== null && _a !== void 0 ? _a : strings.unnamedParticipantString; });
|
26627
|
+
switch (sortedParticipants.length) {
|
26628
|
+
case 1:
|
26629
|
+
return _formatString(direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString, { displayName: participantNames[0] });
|
26630
|
+
case 2:
|
26631
|
+
return _formatString(direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString, {
|
26632
|
+
displayName1: participantNames[0],
|
26633
|
+
displayName2: participantNames[1]
|
26634
|
+
});
|
26635
|
+
case 3:
|
26636
|
+
return _formatString(direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString, {
|
26637
|
+
displayName1: participantNames[0],
|
26638
|
+
displayName2: participantNames[1],
|
26639
|
+
displayName3: participantNames[2]
|
26640
|
+
});
|
26641
|
+
}
|
26642
|
+
/**
|
26643
|
+
* If we have more than 3 participants joining we need to do something more to announce them
|
26644
|
+
* appropriately.
|
26645
|
+
*
|
26646
|
+
* We don't want to announce every name when more than 3 participants join at once so
|
26647
|
+
* we parse out the first 3 names we have and announce those with the number of others.
|
26648
|
+
*/
|
26649
|
+
const numberOfExtraParticipants = sortedParticipants.length - 3;
|
26650
|
+
return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {
|
26651
|
+
displayName1: (_a = sortedParticipants[0].displayName) !== null && _a !== void 0 ? _a : strings.unnamedParticipantString,
|
26652
|
+
displayName2: (_b = sortedParticipants[1].displayName) !== null && _b !== void 0 ? _b : strings.unnamedParticipantString,
|
26653
|
+
displayName3: (_c = sortedParticipants[2].displayName) !== null && _c !== void 0 ? _c : strings.unnamedParticipantString,
|
26654
|
+
numOfParticipants: numberOfExtraParticipants.toString()
|
26655
|
+
});
|
26656
|
+
};
|
26657
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
26658
|
+
/**
|
26659
|
+
* determines if the media gallery should be replaced by the dtmf dialer
|
26660
|
+
* @param callees Target callees to determine if the dtmf dialer should be shown
|
26661
|
+
* @returns whether the dialer should be the gallery content or not
|
26662
|
+
*/
|
26663
|
+
const showDtmfDialer = (callees) => {
|
26664
|
+
return !!((callees === null || callees === void 0 ? void 0 : callees.filter((callee) => {
|
26665
|
+
return communicationCommon.isPhoneNumberIdentifier(callee) || communicationCommon.isMicrosoftTeamsAppIdentifier(callee);
|
26666
|
+
})) && callees.length > 0);
|
26667
|
+
};
|
26668
|
+
|
26669
|
+
// Copyright (c) Microsoft Corporation.
|
26670
|
+
// Licensed under the MIT License.
|
26671
|
+
var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26476
26672
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
26477
26673
|
return new (P || (P = Promise))(function (resolve, reject) {
|
26478
26674
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -26486,7 +26682,7 @@ var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
26486
26682
|
* @private
|
26487
26683
|
*/
|
26488
26684
|
const DesktopMoreButton = (props) => {
|
26489
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
26685
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
26490
26686
|
/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
|
26491
26687
|
const localeStrings = useLocale();
|
26492
26688
|
/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
@@ -26496,7 +26692,7 @@ const DesktopMoreButton = (props) => {
|
|
26496
26692
|
/* @conditional-compile-remove(close-captions) */
|
26497
26693
|
const startCaptionsButtonHandlers = useHandlers();
|
26498
26694
|
/* @conditional-compile-remove(close-captions) */
|
26499
|
-
const startCaptions = React.useCallback(() => __awaiter$
|
26695
|
+
const startCaptions = React.useCallback(() => __awaiter$f(void 0, void 0, void 0, function* () {
|
26500
26696
|
yield startCaptionsButtonHandlers.onStartCaptions({
|
26501
26697
|
spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
|
26502
26698
|
});
|
@@ -26507,6 +26703,12 @@ const DesktopMoreButton = (props) => {
|
|
26507
26703
|
const [focusedContentOn, setFocusedContentOn] = React.useState(false);
|
26508
26704
|
/* @conditional-compile-remove(gallery-layouts) */
|
26509
26705
|
const [previousLayout, setPreviousLayout] = React.useState((_a = props.userSetGalleryLayout) !== null && _a !== void 0 ? _a : 'floatingLocalVideo');
|
26706
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
26707
|
+
const callees = useSelector$1(getTargetCallees);
|
26708
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
26709
|
+
const allowDtmfDialer = showDtmfDialer(callees);
|
26710
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
26711
|
+
const [dtmfDialerChecked, setDtmfDialerChecked] = React.useState((_b = props.dtmfDialerPresent) !== null && _b !== void 0 ? _b : false);
|
26510
26712
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
|
26511
26713
|
const moreButtonStrings = React.useMemo(() => ({
|
26512
26714
|
label: localeStrings.strings.call.moreButtonCallingLabel,
|
@@ -26598,20 +26800,30 @@ const DesktopMoreButton = (props) => {
|
|
26598
26800
|
});
|
26599
26801
|
}
|
26600
26802
|
}
|
26601
|
-
|
26602
|
-
|
26603
|
-
|
26604
|
-
|
26605
|
-
|
26606
|
-
|
26607
|
-
|
26608
|
-
|
26609
|
-
|
26610
|
-
|
26611
|
-
|
26612
|
-
|
26613
|
-
|
26614
|
-
|
26803
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
26804
|
+
const dtmfDialerScreenOption = {
|
26805
|
+
key: 'dtmfDialerScreenKey',
|
26806
|
+
itemProps: {
|
26807
|
+
styles: buttonFlyoutIncreasedSizeStyles
|
26808
|
+
},
|
26809
|
+
text: !dtmfDialerChecked
|
26810
|
+
? localeStrings.strings.call.dtmfDialerMoreButtonLabelOn
|
26811
|
+
: localeStrings.strings.call.dtmfDialerMoreButtonLabelOff,
|
26812
|
+
onClick: () => {
|
26813
|
+
props.onSetDialpadPage && props.onSetDialpadPage();
|
26814
|
+
setDtmfDialerChecked(!dtmfDialerChecked);
|
26815
|
+
},
|
26816
|
+
iconProps: {
|
26817
|
+
iconName: 'DtmfDialpadButton',
|
26818
|
+
styles: { root: { lineHeight: 0 } }
|
26819
|
+
}
|
26820
|
+
};
|
26821
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
26822
|
+
/**
|
26823
|
+
* Only render the dtmf dialer if the dialpad for PSTN calls is not present
|
26824
|
+
*/
|
26825
|
+
if (props.onSetDialpadPage && allowDtmfDialer) {
|
26826
|
+
moreButtonContextualMenuItems.push(dtmfDialerScreenOption);
|
26615
26827
|
}
|
26616
26828
|
/* @conditional-compile-remove(gallery-layouts) */
|
26617
26829
|
if (props.onUserSetOverflowGalleryPositionChange) {
|
@@ -26758,11 +26970,11 @@ const DesktopMoreButton = (props) => {
|
|
26758
26970
|
}
|
26759
26971
|
};
|
26760
26972
|
/* @conditional-compile-remove(large-gallery) */
|
26761
|
-
(
|
26973
|
+
(_d = (_c = galleryOptions.subMenuProps) === null || _c === void 0 ? void 0 : _c.items) === null || _d === void 0 ? void 0 : _d.push(largeGalleryOption);
|
26762
26974
|
/* @conditional-compile-remove(gallery-layout-composite) */
|
26763
|
-
(
|
26975
|
+
(_f = (_e = galleryOptions.subMenuProps) === null || _e === void 0 ? void 0 : _e.items) === null || _f === void 0 ? void 0 : _f.push(galleryOption);
|
26764
26976
|
/* @conditional-compile-remove(overflow-top-composite) */
|
26765
|
-
(
|
26977
|
+
(_h = (_g = galleryOptions.subMenuProps) === null || _g === void 0 ? void 0 : _g.items) === null || _h === void 0 ? void 0 : _h.push(overflowGalleryOption);
|
26766
26978
|
/* @conditional-compile-remove(gallery-layouts) */
|
26767
26979
|
moreButtonContextualMenuItems.push(galleryOptions);
|
26768
26980
|
}
|
@@ -26835,6 +27047,38 @@ const invisibleHiddenFocusStartPoint = {
|
|
26835
27047
|
}
|
26836
27048
|
};
|
26837
27049
|
|
27050
|
+
// Copyright (c) Microsoft Corporation.
|
27051
|
+
// Licensed under the MIT License.
|
27052
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
27053
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
27054
|
+
const icon = () => React.createElement(CallCompositeIcon, { iconName: 'DtmfDialpadButton' });
|
27055
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
27056
|
+
/**
|
27057
|
+
* Button for showing and hiding the dtmf dialer in the Call composite.
|
27058
|
+
* To be used only if the more button control is disabled. This button will replace
|
27059
|
+
* it in the control bar unless it is also disabled.
|
27060
|
+
* @private
|
27061
|
+
*/
|
27062
|
+
const DtmfDialpadButton = (props) => {
|
27063
|
+
const { strings, onRenderOnIcon, onRenderOffIcon, onClick, displayType } = props;
|
27064
|
+
const theme = react.useTheme();
|
27065
|
+
const locale = useLocale();
|
27066
|
+
const dialpadButtonStrings = {
|
27067
|
+
label: locale.strings.call.dtmfDialerButtonLabel,
|
27068
|
+
tooltipOnContent: locale.strings.call.dtmfDialerButtonTooltipOn,
|
27069
|
+
tooltipOffContent: locale.strings.call.dtmfDialerButtonTooltipOff
|
27070
|
+
};
|
27071
|
+
const styles = React.useMemo(() => {
|
27072
|
+
var _a;
|
27073
|
+
return react.concatStyleSets({
|
27074
|
+
rootChecked: {
|
27075
|
+
background: theme.palette.neutralLight
|
27076
|
+
}
|
27077
|
+
}, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
|
27078
|
+
}, [props.styles, theme.palette.neutralLight]);
|
27079
|
+
return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings ? strings : dialpadButtonStrings, showLabel: displayType !== 'compact', labelKey: 'dtmfDialpadButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon, onClick: onClick, styles: styles })));
|
27080
|
+
};
|
27081
|
+
|
26838
27082
|
// Copyright (c) Microsoft Corporation.
|
26839
27083
|
// Licensed under the MIT License.
|
26840
27084
|
const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) => {
|
@@ -26978,6 +27222,12 @@ const CommonCallControlBar = (props) => {
|
|
26978
27222
|
/* @conditional-compile-remove(rooms) */ !hideRaiseHandButtonInRoomsCall && (React.createElement(RaiseHand, { displayType: options.displayType, styles: commonButtonStyles,
|
26979
27223
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
26980
27224
|
disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.microphoneButton) })),
|
27225
|
+
/* @conditional-compile-remove(dtmf-dialer) */ showDtmfDialerButton(options) &&
|
27226
|
+
props.onSetDialpadPage !== undefined && (React.createElement(DtmfDialpadButton, { styles: commonButtonStyles, displayType: options.displayType, onClick: () => {
|
27227
|
+
if (props.onSetDialpadPage !== undefined) {
|
27228
|
+
props.onSetDialpadPage();
|
27229
|
+
}
|
27230
|
+
} })),
|
26981
27231
|
screenShareButtonIsEnabled && (React.createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
|
26982
27232
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
26983
27233
|
disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.screenShareButton) })), (_b = customButtons['primary']) === null || _b === void 0 ? void 0 :
|
@@ -27001,7 +27251,11 @@ const CommonCallControlBar = (props) => {
|
|
27001
27251
|
/* @conditional-compile-remove(gallery-layouts) */
|
27002
27252
|
onUserSetGalleryLayout: props.onUserSetGalleryLayout,
|
27003
27253
|
/* @conditional-compile-remove(gallery-layouts) */
|
27004
|
-
userSetGalleryLayout: props.userSetGalleryLayout
|
27254
|
+
userSetGalleryLayout: props.userSetGalleryLayout,
|
27255
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
27256
|
+
dtmfDialerPresent: props.dtmfDialerPresent,
|
27257
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
27258
|
+
onSetDialpadPage: props.onSetDialpadPage })),
|
27005
27259
|
React.createElement(EndCall, { displayType: "compact", styles: endCallButtonStyles }))))))),
|
27006
27260
|
!props.mobileView && sideButtonsPresent && (React.createElement(react.Stack.Item, null,
|
27007
27261
|
React.createElement("div", { ref: sidepaneControlsRef },
|
@@ -27116,6 +27370,15 @@ const getDesktopEndCallButtonStyles = (theme) => {
|
|
27116
27370
|
return react.concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);
|
27117
27371
|
};
|
27118
27372
|
const isEnabled$1 = (option) => option !== false;
|
27373
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
27374
|
+
const showDtmfDialerButton = (options) => {
|
27375
|
+
if (options.moreButton === false && options.dtmfDialerButton !== false) {
|
27376
|
+
return true;
|
27377
|
+
}
|
27378
|
+
else {
|
27379
|
+
return false;
|
27380
|
+
}
|
27381
|
+
};
|
27119
27382
|
|
27120
27383
|
// Copyright (c) Microsoft Corporation.
|
27121
27384
|
// Licensed under the MIT License.
|
@@ -27250,7 +27513,7 @@ const themedToggleButtonStyle = (theme, checked) => {
|
|
27250
27513
|
|
27251
27514
|
// Copyright (c) Microsoft Corporation.
|
27252
27515
|
// Licensed under the MIT License.
|
27253
|
-
var __awaiter$
|
27516
|
+
var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
27254
27517
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27255
27518
|
return new (P || (P = Promise))(function (resolve, reject) {
|
27256
27519
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -27489,7 +27752,7 @@ const MoreDrawer = (props) => {
|
|
27489
27752
|
? captionSettingsProp.currentCaptionLanguage
|
27490
27753
|
: _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
|
27491
27754
|
/* @conditional-compile-remove(close-captions) */
|
27492
|
-
const onToggleChange = React.useCallback(() => __awaiter$
|
27755
|
+
const onToggleChange = React.useCallback(() => __awaiter$e(void 0, void 0, void 0, function* () {
|
27493
27756
|
if (!captionSettingsProp.isCaptionsFeatureActive) {
|
27494
27757
|
yield startCaptionsButtonHandlers.onStartCaptions({
|
27495
27758
|
spokenLanguage: currentSpokenLanguage
|
@@ -28228,7 +28491,7 @@ const AddPeopleButton = (props) => {
|
|
28228
28491
|
|
28229
28492
|
// Copyright (c) Microsoft Corporation.
|
28230
28493
|
// Licensed under the MIT License.
|
28231
|
-
var __awaiter$
|
28494
|
+
var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
28232
28495
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
28233
28496
|
return new (P || (P = Promise))(function (resolve, reject) {
|
28234
28497
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -28250,11 +28513,11 @@ const PeoplePaneContent = (props) => {
|
|
28250
28513
|
return localeStrings.strings.call;
|
28251
28514
|
};
|
28252
28515
|
const strings = getStrings();
|
28253
|
-
const removeParticipantFromCall = React.useCallback((participantId) => __awaiter$
|
28516
|
+
const removeParticipantFromCall = React.useCallback((participantId) => __awaiter$d(void 0, void 0, void 0, function* () {
|
28254
28517
|
yield adapter.removeParticipant(participantId);
|
28255
28518
|
}), [adapter]);
|
28256
28519
|
/* @conditional-compile-remove(PSTN-calls) */
|
28257
|
-
const addParticipantToCall = React.useCallback((participant, options) => __awaiter$
|
28520
|
+
const addParticipantToCall = React.useCallback((participant, options) => __awaiter$d(void 0, void 0, void 0, function* () {
|
28258
28521
|
yield adapter.addParticipant(participant, options);
|
28259
28522
|
}), [adapter]);
|
28260
28523
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -28281,7 +28544,7 @@ const PeoplePaneContent = (props) => {
|
|
28281
28544
|
setDrawerMenuItems
|
28282
28545
|
]);
|
28283
28546
|
const participantListProps = React.useMemo(() => {
|
28284
|
-
const onRemoveAParticipant = (participantId) => __awaiter$
|
28547
|
+
const onRemoveAParticipant = (participantId) => __awaiter$d(void 0, void 0, void 0, function* () { return removeParticipantFromCall(participantId); });
|
28285
28548
|
return Object.assign(Object.assign({}, participantListDefaultProps), {
|
28286
28549
|
// Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked
|
28287
28550
|
onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,
|
@@ -28422,7 +28685,7 @@ const localVideoSelector = reselect__namespace.createSelector([callStatusSelecto
|
|
28422
28685
|
|
28423
28686
|
// Copyright (c) Microsoft Corporation.
|
28424
28687
|
// Licensed under the MIT License.
|
28425
|
-
var __awaiter$
|
28688
|
+
var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
28426
28689
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
28427
28690
|
return new (P || (P = Promise))(function (resolve, reject) {
|
28428
28691
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -28491,7 +28754,7 @@ const VideoEffectsPaneContent = (props) => {
|
|
28491
28754
|
return videoEffects;
|
28492
28755
|
}, [strings, adapter]);
|
28493
28756
|
/* @conditional-compile-remove(video-background-effects) */
|
28494
|
-
const onEffectChange = React.useCallback((effectKey) => __awaiter$
|
28757
|
+
const onEffectChange = React.useCallback((effectKey) => __awaiter$c(void 0, void 0, void 0, function* () {
|
28495
28758
|
if (effectKey === 'blur') {
|
28496
28759
|
const blurEffect = {
|
28497
28760
|
effectName: effectKey
|
@@ -29227,7 +29490,11 @@ const CallArrangement = (props) => {
|
|
29227
29490
|
/* @conditional-compile-remove(gallery-layouts) */
|
29228
29491
|
onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange,
|
29229
29492
|
/* @conditional-compile-remove(gallery-layouts) */
|
29230
|
-
userSetGalleryLayout: props.userSetGalleryLayout,
|
29493
|
+
userSetGalleryLayout: props.userSetGalleryLayout,
|
29494
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
29495
|
+
onSetDialpadPage: props.onSetDialpadPage,
|
29496
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
29497
|
+
dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef }))))),
|
29231
29498
|
((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
|
29232
29499
|
React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
|
29233
29500
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -29301,140 +29568,6 @@ const localVideoCameraCycleButtonSelector = reselect.createSelector([getDeviceMa
|
|
29301
29568
|
};
|
29302
29569
|
});
|
29303
29570
|
|
29304
|
-
// Copyright (c) Microsoft Corporation.
|
29305
|
-
// Licensed under the MIT License.
|
29306
|
-
/**
|
29307
|
-
* @private
|
29308
|
-
*/
|
29309
|
-
const mediaGallerySelector = reselect__namespace.createSelector([getLocalVideoStreams], (localVideoStreams) => {
|
29310
|
-
var _a, _b;
|
29311
|
-
return {
|
29312
|
-
isVideoStreamOn: !!((_b = (_a = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.target)
|
29313
|
-
};
|
29314
|
-
});
|
29315
|
-
/**
|
29316
|
-
* Custom selector for this hook to retrieve all the participants that are currently
|
29317
|
-
* connected to the call.
|
29318
|
-
*/
|
29319
|
-
const getRemoteParticipantsConnectedSelector = reselect__namespace.createSelector([getRemoteParticipants], (remoteParticipants) => {
|
29320
|
-
const participants = Object.values(remoteParticipants !== null && remoteParticipants !== void 0 ? remoteParticipants : {});
|
29321
|
-
return participants.filter((p) => p.state === 'Connected');
|
29322
|
-
});
|
29323
|
-
|
29324
|
-
// Copyright (c) Microsoft Corporation.
|
29325
|
-
// Licensed under the MIT License.
|
29326
|
-
/**
|
29327
|
-
* sets the announcement string whenever a Participant comes or goes from a call to be
|
29328
|
-
* used by the system narrator.
|
29329
|
-
*
|
29330
|
-
* @returns string to be used by the narrator and Announcer component
|
29331
|
-
*
|
29332
|
-
* @internal
|
29333
|
-
*/
|
29334
|
-
const useParticipantChangedAnnouncement = () => {
|
29335
|
-
const locale = useLocale().strings.call;
|
29336
|
-
const strings = React.useMemo(() => {
|
29337
|
-
return {
|
29338
|
-
participantJoinedNoticeString: locale.participantJoinedNoticeString,
|
29339
|
-
twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,
|
29340
|
-
threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,
|
29341
|
-
participantLeftNoticeString: locale.participantLeftNoticeString,
|
29342
|
-
twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,
|
29343
|
-
threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,
|
29344
|
-
unnamedParticipantString: locale.unnamedParticipantString,
|
29345
|
-
manyParticipantsJoined: locale.manyParticipantsJoined,
|
29346
|
-
manyParticipantsLeft: locale.manyParticipantsLeft,
|
29347
|
-
manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,
|
29348
|
-
manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft
|
29349
|
-
};
|
29350
|
-
}, [locale]);
|
29351
|
-
const [announcerString, setAnnouncerString] = React.useState('');
|
29352
|
-
const currentParticipants = useSelector$1(getRemoteParticipantsConnectedSelector);
|
29353
|
-
/**
|
29354
|
-
* We want to use a useRef here since we want to not fire this hook based on the previous participants
|
29355
|
-
* this allows this value to be used in the hook without being in the dependency array.
|
29356
|
-
*
|
29357
|
-
* Note: By definition if this hook is used in another component it is not pure anymore.
|
29358
|
-
*/
|
29359
|
-
const previousParticipants = React.useRef(currentParticipants);
|
29360
|
-
const resetAnnoucement = (string) => {
|
29361
|
-
setAnnouncerString(string);
|
29362
|
-
};
|
29363
|
-
React.useMemo(() => {
|
29364
|
-
const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));
|
29365
|
-
const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));
|
29366
|
-
const whoJoined = currentParticipants.filter((p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));
|
29367
|
-
const whoLeft = previousParticipants.current.filter((p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));
|
29368
|
-
if (whoJoined.length > 0) {
|
29369
|
-
resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));
|
29370
|
-
}
|
29371
|
-
if (whoLeft.length > 0) {
|
29372
|
-
resetAnnoucement(createAnnouncementString('left', whoLeft, strings));
|
29373
|
-
}
|
29374
|
-
// Update cached value at the end.
|
29375
|
-
previousParticipants.current = currentParticipants;
|
29376
|
-
}, [currentParticipants, strings]);
|
29377
|
-
return announcerString;
|
29378
|
-
};
|
29379
|
-
/**
|
29380
|
-
* Generates the announcement string for when a participant joins or leaves a call.
|
29381
|
-
*/
|
29382
|
-
const createAnnouncementString = (direction, participants, strings) => {
|
29383
|
-
var _a, _b, _c;
|
29384
|
-
/**
|
29385
|
-
* If there are no participants return empty string.
|
29386
|
-
*/
|
29387
|
-
if (participants.length === 0) {
|
29388
|
-
return '';
|
29389
|
-
}
|
29390
|
-
/**
|
29391
|
-
* Filter participants into two arrays to put all the unnamed participants at the back of the
|
29392
|
-
* names being announced.
|
29393
|
-
*/
|
29394
|
-
const unnamedParticipants = participants.filter((p) => !p.displayName);
|
29395
|
-
const namedParicipants = participants.filter((p) => p.displayName);
|
29396
|
-
const sortedParticipants = namedParicipants.concat(unnamedParticipants);
|
29397
|
-
/**
|
29398
|
-
* if there are only unnamed participants present in the array announce a special unnamed participants
|
29399
|
-
* only string.
|
29400
|
-
*/
|
29401
|
-
if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {
|
29402
|
-
return _formatString(direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft, {
|
29403
|
-
numOfParticipants: (sortedParticipants.length - 1).toString()
|
29404
|
-
});
|
29405
|
-
}
|
29406
|
-
const participantNames = sortedParticipants.map((p) => { var _a; return (_a = p.displayName) !== null && _a !== void 0 ? _a : strings.unnamedParticipantString; });
|
29407
|
-
switch (sortedParticipants.length) {
|
29408
|
-
case 1:
|
29409
|
-
return _formatString(direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString, { displayName: participantNames[0] });
|
29410
|
-
case 2:
|
29411
|
-
return _formatString(direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString, {
|
29412
|
-
displayName1: participantNames[0],
|
29413
|
-
displayName2: participantNames[1]
|
29414
|
-
});
|
29415
|
-
case 3:
|
29416
|
-
return _formatString(direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString, {
|
29417
|
-
displayName1: participantNames[0],
|
29418
|
-
displayName2: participantNames[1],
|
29419
|
-
displayName3: participantNames[2]
|
29420
|
-
});
|
29421
|
-
}
|
29422
|
-
/**
|
29423
|
-
* If we have more than 3 participants joining we need to do something more to announce them
|
29424
|
-
* appropriately.
|
29425
|
-
*
|
29426
|
-
* We don't want to announce every name when more than 3 participants join at once so
|
29427
|
-
* we parse out the first 3 names we have and announce those with the number of others.
|
29428
|
-
*/
|
29429
|
-
const numberOfExtraParticipants = sortedParticipants.length - 3;
|
29430
|
-
return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {
|
29431
|
-
displayName1: (_a = sortedParticipants[0].displayName) !== null && _a !== void 0 ? _a : strings.unnamedParticipantString,
|
29432
|
-
displayName2: (_b = sortedParticipants[1].displayName) !== null && _b !== void 0 ? _b : strings.unnamedParticipantString,
|
29433
|
-
displayName3: (_c = sortedParticipants[2].displayName) !== null && _c !== void 0 ? _c : strings.unnamedParticipantString,
|
29434
|
-
numOfParticipants: numberOfExtraParticipants.toString()
|
29435
|
-
});
|
29436
|
-
};
|
29437
|
-
|
29438
29571
|
// Copyright (c) Microsoft Corporation.
|
29439
29572
|
// Licensed under the MIT License.
|
29440
29573
|
const VideoGalleryStyles = {
|
@@ -29727,6 +29860,112 @@ const networkReconnectTileSelector = reselect__namespace.createSelector([getUser
|
|
29727
29860
|
};
|
29728
29861
|
});
|
29729
29862
|
|
29863
|
+
// Copyright (c) Microsoft Corporation.
|
29864
|
+
// Licensed under the MIT License.
|
29865
|
+
/**
|
29866
|
+
* @internal
|
29867
|
+
*/
|
29868
|
+
const getMinutes$1 = (time) => {
|
29869
|
+
return Math.floor(getSeconds$1(time) / 60);
|
29870
|
+
};
|
29871
|
+
/**
|
29872
|
+
* @internal
|
29873
|
+
*/
|
29874
|
+
const getSeconds$1 = (time) => {
|
29875
|
+
return Math.floor(time / 1000);
|
29876
|
+
};
|
29877
|
+
/**
|
29878
|
+
* @internal
|
29879
|
+
*/
|
29880
|
+
const getHours$1 = (time) => {
|
29881
|
+
return Math.floor(getMinutes$1(time) / 60);
|
29882
|
+
};
|
29883
|
+
/**
|
29884
|
+
* @internal
|
29885
|
+
*/
|
29886
|
+
const getReadableTime$1 = (time) => {
|
29887
|
+
const hours = getHours$1(time);
|
29888
|
+
const readableMinutes = ('0' + (getMinutes$1(time) % 60)).slice(-2);
|
29889
|
+
const readableSeconds = ('0' + (getSeconds$1(time) % 60)).slice(-2);
|
29890
|
+
return `${hours > 0 ? hours + ':' : ''}${readableMinutes}:${readableSeconds}`;
|
29891
|
+
};
|
29892
|
+
|
29893
|
+
// Copyright (c) Microsoft Corporation.
|
29894
|
+
// Licensed under the MIT License.
|
29895
|
+
/**
|
29896
|
+
* styles for hold pane timer
|
29897
|
+
*
|
29898
|
+
* @private
|
29899
|
+
*/
|
29900
|
+
const DtmfDialpadContentTimerStyles = {
|
29901
|
+
root: {
|
29902
|
+
color: 'inherit',
|
29903
|
+
fontWeight: 600,
|
29904
|
+
fontSize: _pxToRem(20),
|
29905
|
+
lineHeight: _pxToRem(28),
|
29906
|
+
margin: 'auto'
|
29907
|
+
}
|
29908
|
+
};
|
29909
|
+
|
29910
|
+
// Copyright (c) Microsoft Corporation.
|
29911
|
+
// Licensed under the MIT License.
|
29912
|
+
var __awaiter$b = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
29913
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
29914
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
29915
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29916
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
29917
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
29918
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
29919
|
+
});
|
29920
|
+
};
|
29921
|
+
const DtmfDialpadPageContent = (props) => {
|
29922
|
+
var _a, _b;
|
29923
|
+
const { adapter } = props;
|
29924
|
+
const adapterState = adapter.getState();
|
29925
|
+
const theme = react.useTheme();
|
29926
|
+
const calleeId = (_a = adapterState.targetCallees) === null || _a === void 0 ? void 0 : _a[0];
|
29927
|
+
const remoteParticipants = (_b = adapterState.call) === null || _b === void 0 ? void 0 : _b.remoteParticipants;
|
29928
|
+
let calleeName;
|
29929
|
+
if (remoteParticipants) {
|
29930
|
+
const remoteParticipantValues = Object.values(remoteParticipants);
|
29931
|
+
if (calleeId && communicationCommon.isPhoneNumberIdentifier(calleeId)) {
|
29932
|
+
calleeName = calleeId.phoneNumber;
|
29933
|
+
}
|
29934
|
+
else {
|
29935
|
+
calleeName = remoteParticipantValues.find((p) => p.identifier === calleeId);
|
29936
|
+
}
|
29937
|
+
}
|
29938
|
+
return (React.createElement(react.Stack, { style: { height: '100%', width: '100%', background: theme.palette.white } },
|
29939
|
+
React.createElement(react.Stack, { verticalAlign: 'center', style: { margin: 'auto' } },
|
29940
|
+
React.createElement(DtmfDialerContentTimer, null),
|
29941
|
+
React.createElement(react.Text, { style: { margin: 'auto' } }, calleeName !== 'Unnamed participant' ? calleeName : ''),
|
29942
|
+
React.createElement(Dialpad, { onSendDtmfTone: (tone) => __awaiter$b(void 0, void 0, void 0, function* () {
|
29943
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
29944
|
+
yield adapter.sendDtmfTone(tone);
|
29945
|
+
}), dialpadMode: 'dtmf' }))));
|
29946
|
+
};
|
29947
|
+
const DtmfDialerContentTimer = () => {
|
29948
|
+
const [time, setTime] = React.useState(0);
|
29949
|
+
const elapsedTime = getReadableTime$1(time);
|
29950
|
+
const startTime = React.useRef(performance.now());
|
29951
|
+
React.useEffect(() => {
|
29952
|
+
const interval = setInterval(() => {
|
29953
|
+
setTime(performance.now() - startTime.current);
|
29954
|
+
}, 10);
|
29955
|
+
return () => {
|
29956
|
+
clearInterval(interval);
|
29957
|
+
};
|
29958
|
+
}, [startTime]);
|
29959
|
+
return React.createElement(react.Text, { styles: DtmfDialpadContentTimerStyles }, elapsedTime);
|
29960
|
+
};
|
29961
|
+
/**
|
29962
|
+
* @internal
|
29963
|
+
*/
|
29964
|
+
const DtmfDialpadPage = (props) => {
|
29965
|
+
const adapter = useAdapter();
|
29966
|
+
return React.createElement(DtmfDialpadPageContent, { adapter: adapter, mobileView: props.mobileView });
|
29967
|
+
};
|
29968
|
+
|
29730
29969
|
// Copyright (c) Microsoft Corporation.
|
29731
29970
|
// Licensed under the MIT License.
|
29732
29971
|
/**
|
@@ -29751,10 +29990,50 @@ const CallPage = (props) => {
|
|
29751
29990
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
29752
29991
|
const mutedNotificationProps = useSelector$1(mutedNotificationSelector);
|
29753
29992
|
const networkReconnectTileProps = useSelector$1(networkReconnectTileSelector);
|
29993
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
29994
|
+
const remoteParticipantsConnected = useSelector$1(getRemoteParticipantsConnectedSelector);
|
29995
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
29996
|
+
const callees = useSelector$1(getTargetCallees);
|
29997
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
29998
|
+
const renderDtmfDialerFromStart = showDtmfDialer(callees);
|
29999
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
30000
|
+
const [dtmfDialerPresent, setDtmfDialerPresent] = React.useState(renderDtmfDialerFromStart);
|
30001
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
30002
|
+
const dialerShouldAutoDismiss = React.useRef(renderDtmfDialerFromStart);
|
30003
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
30004
|
+
/**
|
30005
|
+
* This useEffect is about clearing the dtmf dialer should there be a new participant that joins the call.
|
30006
|
+
* This will only happen the first time should the dialer be present when the call starts.
|
30007
|
+
*/
|
30008
|
+
React.useEffect(() => {
|
30009
|
+
if (remoteParticipantsConnected.length > 1 && dtmfDialerPresent && dialerShouldAutoDismiss.current) {
|
30010
|
+
setDtmfDialerPresent(false);
|
30011
|
+
dialerShouldAutoDismiss.current = false;
|
30012
|
+
}
|
30013
|
+
}, [dtmfDialerPresent, remoteParticipantsConnected, setDtmfDialerPresent]);
|
29754
30014
|
const strings = useLocale().strings.call;
|
29755
30015
|
// Reduce the controls shown when mobile view is enabled.
|
29756
30016
|
const callControlOptions = mobileView ? reduceCallControlsForMobile(options === null || options === void 0 ? void 0 : options.callControls) : options === null || options === void 0 ? void 0 : options.callControls;
|
29757
30017
|
const drawerMenuHostId = reactHooks.useId('drawerMenuHost');
|
30018
|
+
const onRenderGalleryContentTrampoline = () => {
|
30019
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
30020
|
+
if (dtmfDialerPresent) {
|
30021
|
+
return (React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
|
30022
|
+
/* @conditional-compile-remove(capabilities) */
|
30023
|
+
capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent }));
|
30024
|
+
}
|
30025
|
+
else {
|
30026
|
+
return (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData,
|
30027
|
+
/* @conditional-compile-remove(pinned-participants) */
|
30028
|
+
remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
|
30029
|
+
/* @conditional-compile-remove(click-to-call) */
|
30030
|
+
localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
|
30031
|
+
/* @conditional-compile-remove(gallery-layouts) */
|
30032
|
+
userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
|
30033
|
+
/* @conditional-compile-remove(gallery-layouts) */
|
30034
|
+
userSetGalleryLayout: galleryLayout })));
|
30035
|
+
}
|
30036
|
+
};
|
29758
30037
|
return (React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, mutedNotificationProps: mutedNotificationProps, callControlProps: {
|
29759
30038
|
callInvitationURL: callInvitationURL,
|
29760
30039
|
onFetchParticipantMenuItems: onFetchParticipantMenuItems,
|
@@ -29762,15 +30041,7 @@ const CallPage = (props) => {
|
|
29762
30041
|
increaseFlyoutItemSize: mobileView
|
29763
30042
|
},
|
29764
30043
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
|
29765
|
-
onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (React.createElement(
|
29766
|
-
/* @conditional-compile-remove(pinned-participants) */
|
29767
|
-
remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
|
29768
|
-
/* @conditional-compile-remove(click-to-call) */
|
29769
|
-
localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
|
29770
|
-
/* @conditional-compile-remove(gallery-layouts) */
|
29771
|
-
userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
|
29772
|
-
/* @conditional-compile-remove(gallery-layouts) */
|
29773
|
-
userSetGalleryLayout: galleryLayout }))) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
|
30044
|
+
onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
|
29774
30045
|
/* @conditional-compile-remove(gallery-layouts) */
|
29775
30046
|
onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition,
|
29776
30047
|
/* @conditional-compile-remove(gallery-layouts) */
|
@@ -29778,7 +30049,11 @@ const CallPage = (props) => {
|
|
29778
30049
|
/* @conditional-compile-remove(gallery-layouts) */
|
29779
30050
|
userSetGalleryLayout: galleryLayout,
|
29780
30051
|
/* @conditional-compile-remove(capabilities) */
|
29781
|
-
capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps
|
30052
|
+
capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps,
|
30053
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
30054
|
+
onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent),
|
30055
|
+
/* @conditional-compile-remove(dtmf-dialer) */
|
30056
|
+
dtmfDialerPresent: dtmfDialerPresent }));
|
29782
30057
|
};
|
29783
30058
|
/**
|
29784
30059
|
* @private
|