@azure/communication-react 1.5.1-alpha-202303300013 → 1.5.1-alpha-202303310013
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 +24 -7
- package/dist/dist-cjs/communication-react/index.js +517 -295
- 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/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.js +9 -7
- 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/ConfigurationPage.js +19 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +5 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +20 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +61 -3
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +4 -7
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +7 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +5 -0
- package/package.json +8 -8
@@ -162,7 +162,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
162
162
|
// Copyright (c) Microsoft Corporation.
|
163
163
|
// Licensed under the MIT license.
|
164
164
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
165
|
-
var telemetryVersion = '1.5.1-alpha-
|
165
|
+
var telemetryVersion = '1.5.1-alpha-202303310013';
|
166
166
|
|
167
167
|
// Copyright (c) Microsoft Corporation.
|
168
168
|
/**
|
@@ -378,7 +378,7 @@ const getEnvironmentInfo = (state) => {
|
|
378
378
|
|
379
379
|
// Copyright (c) Microsoft Corporation.
|
380
380
|
// Licensed under the MIT license.
|
381
|
-
var __awaiter$
|
381
|
+
var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
382
382
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
383
383
|
return new (P || (P = Promise))(function (resolve, reject) {
|
384
384
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -416,7 +416,7 @@ const _isPreviewOn = (deviceManager) => {
|
|
416
416
|
*
|
417
417
|
* @private
|
418
418
|
*/
|
419
|
-
const disposeAllLocalPreviewViews = (callClient) => __awaiter$
|
419
|
+
const disposeAllLocalPreviewViews = (callClient) => __awaiter$G(void 0, void 0, void 0, function* () {
|
420
420
|
const unparentedViews = callClient.getState().deviceManager.unparentedViews;
|
421
421
|
for (const view of unparentedViews) {
|
422
422
|
yield callClient.disposeView(undefined, undefined, view);
|
@@ -549,7 +549,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
|
|
549
549
|
|
550
550
|
// Copyright (c) Microsoft Corporation.
|
551
551
|
// Licensed under the MIT license.
|
552
|
-
var __awaiter$
|
552
|
+
var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
553
553
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
554
554
|
return new (P || (P = Promise))(function (resolve, reject) {
|
555
555
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -570,7 +570,7 @@ const areStreamsEqual = (prevStream, newStream) => {
|
|
570
570
|
* @private
|
571
571
|
*/
|
572
572
|
const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callClient, deviceManager, call) => {
|
573
|
-
const onStartLocalVideo = () => __awaiter$
|
573
|
+
const onStartLocalVideo = () => __awaiter$F(void 0, void 0, void 0, function* () {
|
574
574
|
// Before the call object creates a stream, dispose of any local preview streams.
|
575
575
|
// @TODO: is there any way to parent the unparented view to the call object instead
|
576
576
|
// of disposing and creating a new stream?
|
@@ -590,7 +590,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
590
590
|
yield call.startVideo(stream);
|
591
591
|
}
|
592
592
|
});
|
593
|
-
const onStopLocalVideo = (stream) => __awaiter$
|
593
|
+
const onStopLocalVideo = (stream) => __awaiter$F(void 0, void 0, void 0, function* () {
|
594
594
|
const callId = call === null || call === void 0 ? void 0 : call.id;
|
595
595
|
if (!callId) {
|
596
596
|
return;
|
@@ -599,7 +599,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
599
599
|
yield call.stopVideo(stream);
|
600
600
|
}
|
601
601
|
});
|
602
|
-
const onToggleCamera = (options) => __awaiter$
|
602
|
+
const onToggleCamera = (options) => __awaiter$F(void 0, void 0, void 0, function* () {
|
603
603
|
const previewOn = _isPreviewOn(callClient.getState().deviceManager);
|
604
604
|
if (previewOn && call && call.state === 'Connecting') {
|
605
605
|
// This is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
|
@@ -647,19 +647,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
647
647
|
}
|
648
648
|
}
|
649
649
|
});
|
650
|
-
const onSelectMicrophone = (device) => __awaiter$
|
650
|
+
const onSelectMicrophone = (device) => __awaiter$F(void 0, void 0, void 0, function* () {
|
651
651
|
if (!deviceManager) {
|
652
652
|
return;
|
653
653
|
}
|
654
654
|
return deviceManager.selectMicrophone(device);
|
655
655
|
});
|
656
|
-
const onSelectSpeaker = (device) => __awaiter$
|
656
|
+
const onSelectSpeaker = (device) => __awaiter$F(void 0, void 0, void 0, function* () {
|
657
657
|
if (!deviceManager) {
|
658
658
|
return;
|
659
659
|
}
|
660
660
|
return deviceManager.selectSpeaker(device);
|
661
661
|
});
|
662
|
-
const onSelectCamera = (device, options) => __awaiter$
|
662
|
+
const onSelectCamera = (device, options) => __awaiter$F(void 0, void 0, void 0, function* () {
|
663
663
|
if (!deviceManager) {
|
664
664
|
return;
|
665
665
|
}
|
@@ -682,19 +682,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
682
682
|
}, options);
|
683
683
|
}
|
684
684
|
});
|
685
|
-
const onToggleMicrophone = () => __awaiter$
|
685
|
+
const onToggleMicrophone = () => __awaiter$F(void 0, void 0, void 0, function* () {
|
686
686
|
if (!call || !_isInCall(call.state)) {
|
687
687
|
throw new Error(`Please invoke onToggleMicrophone after call is started`);
|
688
688
|
}
|
689
689
|
return call.isMuted ? yield call.unmute() : yield call.mute();
|
690
690
|
});
|
691
|
-
const onStartScreenShare = () => __awaiter$
|
692
|
-
const onStopScreenShare = () => __awaiter$
|
693
|
-
const onToggleScreenShare = () => __awaiter$
|
694
|
-
const onHangUp = (forEveryone) => __awaiter$
|
691
|
+
const onStartScreenShare = () => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
|
692
|
+
const onStopScreenShare = () => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
|
693
|
+
const onToggleScreenShare = () => __awaiter$F(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
|
694
|
+
const onHangUp = (forEveryone) => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
|
695
695
|
/* @conditional-compile-remove(PSTN-calls) */
|
696
|
-
const onToggleHold = () => __awaiter$
|
697
|
-
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$
|
696
|
+
const onToggleHold = () => __awaiter$F(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()); });
|
697
|
+
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$F(void 0, void 0, void 0, function* () {
|
698
698
|
var _a;
|
699
699
|
if (!call || call.localVideoStreams.length === 0) {
|
700
700
|
return;
|
@@ -710,7 +710,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
710
710
|
const { view } = (_a = (yield callClient.createView(call.id, undefined, localStream, options))) !== null && _a !== void 0 ? _a : {};
|
711
711
|
return view ? { view } : undefined;
|
712
712
|
});
|
713
|
-
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$
|
713
|
+
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$F(void 0, void 0, void 0, function* () {
|
714
714
|
if (!call) {
|
715
715
|
return;
|
716
716
|
}
|
@@ -741,7 +741,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
741
741
|
}
|
742
742
|
return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
|
743
743
|
});
|
744
|
-
const onDisposeRemoteStreamView = (userId) => __awaiter$
|
744
|
+
const onDisposeRemoteStreamView = (userId) => __awaiter$F(void 0, void 0, void 0, function* () {
|
745
745
|
if (!call) {
|
746
746
|
return;
|
747
747
|
}
|
@@ -762,7 +762,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
762
762
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
763
763
|
}
|
764
764
|
});
|
765
|
-
const onDisposeLocalStreamView = () => __awaiter$
|
765
|
+
const onDisposeLocalStreamView = () => __awaiter$F(void 0, void 0, void 0, function* () {
|
766
766
|
// If the user is currently in a call, dispose of the local stream view attached to that call.
|
767
767
|
const callState = call && callClient.getState().calls[call.id];
|
768
768
|
const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
|
@@ -775,18 +775,18 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
775
775
|
yield disposeAllLocalPreviewViews(callClient);
|
776
776
|
});
|
777
777
|
/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
|
778
|
-
const onSendDtmfTone = (dtmfTone) => __awaiter$
|
778
|
+
const onSendDtmfTone = (dtmfTone) => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
|
779
779
|
const notImplemented = () => {
|
780
780
|
throw new Error('Not implemented, cannot call a method from an abstract object');
|
781
781
|
};
|
782
782
|
/* @conditional-compile-remove(call-readiness) */
|
783
|
-
const askDevicePermission = (constrain) => __awaiter$
|
783
|
+
const askDevicePermission = (constrain) => __awaiter$F(void 0, void 0, void 0, function* () {
|
784
784
|
if (deviceManager) {
|
785
785
|
yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
|
786
786
|
}
|
787
787
|
});
|
788
788
|
/* @conditional-compile-remove(video-background-effects) */
|
789
|
-
const onRemoveVideoBackgroundEffects = () => __awaiter$
|
789
|
+
const onRemoveVideoBackgroundEffects = () => __awaiter$F(void 0, void 0, void 0, function* () {
|
790
790
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
791
791
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
792
792
|
if (stream) {
|
@@ -794,7 +794,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
794
794
|
}
|
795
795
|
});
|
796
796
|
/* @conditional-compile-remove(video-background-effects) */
|
797
|
-
const onBlurVideoBackground = (bgBlurConfig) => __awaiter$
|
797
|
+
const onBlurVideoBackground = (bgBlurConfig) => __awaiter$F(void 0, void 0, void 0, function* () {
|
798
798
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
799
799
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
800
800
|
if (stream) {
|
@@ -802,7 +802,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
802
802
|
}
|
803
803
|
});
|
804
804
|
/* @conditional-compile-remove(video-background-effects) */
|
805
|
-
const onReplaceVideoBackground = (bgReplacementConfig) => __awaiter$
|
805
|
+
const onReplaceVideoBackground = (bgReplacementConfig) => __awaiter$F(void 0, void 0, void 0, function* () {
|
806
806
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
807
807
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
808
808
|
if (stream) {
|
@@ -844,7 +844,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
844
844
|
|
845
845
|
// Copyright (c) Microsoft Corporation.
|
846
846
|
// Licensed under the MIT license.
|
847
|
-
var __awaiter$
|
847
|
+
var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
848
848
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
849
849
|
return new (P || (P = Promise))(function (resolve, reject) {
|
850
850
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -871,7 +871,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
871
871
|
return callAgent ? callAgent.startCall(participants, options) : undefined;
|
872
872
|
},
|
873
873
|
/* @conditional-compile-remove(PSTN-calls) */
|
874
|
-
onAddParticipant: (userId, options) => __awaiter$
|
874
|
+
onAddParticipant: (userId, options) => __awaiter$E(void 0, void 0, void 0, function* () {
|
875
875
|
const participant = _toCommunicationIdentifier(userId);
|
876
876
|
if (communicationCommon.isPhoneNumberIdentifier(participant)) {
|
877
877
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
|
@@ -879,7 +879,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
879
879
|
else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
|
880
880
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
881
881
|
}
|
882
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
882
|
+
}), onRemoveParticipant: (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
|
883
883
|
const participant = _toCommunicationIdentifier(userId);
|
884
884
|
yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
|
885
885
|
}) });
|
@@ -887,7 +887,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
887
887
|
|
888
888
|
// Copyright (c) Microsoft Corporation.
|
889
889
|
// Licensed under the MIT license.
|
890
|
-
var __awaiter$
|
890
|
+
var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
891
891
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
892
892
|
return new (P || (P = Promise))(function (resolve, reject) {
|
893
893
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -919,7 +919,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
919
919
|
},
|
920
920
|
/* @conditional-compile-remove(teams-identity-support) */
|
921
921
|
/* @conditional-compile-remove(PSTN-calls) */
|
922
|
-
onAddParticipant: (userId, options) => __awaiter$
|
922
|
+
onAddParticipant: (userId, options) => __awaiter$D(void 0, void 0, void 0, function* () {
|
923
923
|
const participant = _toCommunicationIdentifier(userId);
|
924
924
|
/* @conditional-compile-remove(teams-identity-support) */
|
925
925
|
const threadId = options === null || options === void 0 ? void 0 : options.threadId;
|
@@ -932,7 +932,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
932
932
|
}
|
933
933
|
/* @conditional-compile-remove(teams-identity-support) */
|
934
934
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
935
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
935
|
+
}), onRemoveParticipant: (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
|
936
936
|
const participant = _toCommunicationIdentifier(userId);
|
937
937
|
if (communicationCommon.isCommunicationUserIdentifier(participant)) {
|
938
938
|
throw new Error('CommunicationIdentifier in Teams call is not supported!');
|
@@ -944,7 +944,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
944
944
|
|
945
945
|
// Copyright (c) Microsoft Corporation.
|
946
946
|
// Licensed under the MIT license.
|
947
|
-
var __awaiter$
|
947
|
+
var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
948
948
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
949
949
|
return new (P || (P = Promise))(function (resolve, reject) {
|
950
950
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -993,13 +993,13 @@ class ProxyDeviceManager {
|
|
993
993
|
this.selectCamera = (videoDeviceInfo) => {
|
994
994
|
this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
|
995
995
|
};
|
996
|
-
this.videoDevicesUpdated = () => __awaiter$
|
996
|
+
this.videoDevicesUpdated = () => __awaiter$C(this, void 0, void 0, function* () {
|
997
997
|
// Device Manager always has a camera with '' name if there are no real camera devices available.
|
998
998
|
// We don't want to show that in the UI.
|
999
999
|
const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
|
1000
1000
|
this._context.setDeviceManagerCameras(dedupeById(realCameras));
|
1001
1001
|
});
|
1002
|
-
this.audioDevicesUpdated = () => __awaiter$
|
1002
|
+
this.audioDevicesUpdated = () => __awaiter$C(this, void 0, void 0, function* () {
|
1003
1003
|
this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
|
1004
1004
|
this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
|
1005
1005
|
});
|
@@ -1202,7 +1202,7 @@ class CallIdHistory {
|
|
1202
1202
|
|
1203
1203
|
// Copyright (c) Microsoft Corporation.
|
1204
1204
|
// Licensed under the MIT license.
|
1205
|
-
var __awaiter$
|
1205
|
+
var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1206
1206
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1207
1207
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1208
1208
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1786,7 +1786,7 @@ class CallContext$2 {
|
|
1786
1786
|
* @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
|
1787
1787
|
*/
|
1788
1788
|
withAsyncErrorTeedToState(action, target) {
|
1789
|
-
return (...args) => __awaiter$
|
1789
|
+
return (...args) => __awaiter$B(this, void 0, void 0, function* () {
|
1790
1790
|
try {
|
1791
1791
|
return yield action(...args);
|
1792
1792
|
}
|
@@ -2313,7 +2313,7 @@ function _logStreamEvent(eventName, streamLogInfo, error) {
|
|
2313
2313
|
|
2314
2314
|
// Copyright (c) Microsoft Corporation.
|
2315
2315
|
// Licensed under the MIT license.
|
2316
|
-
var __awaiter$
|
2316
|
+
var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2317
2317
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
2318
2318
|
return new (P || (P = Promise))(function (resolve, reject) {
|
2319
2319
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2323,7 +2323,7 @@ var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
2323
2323
|
});
|
2324
2324
|
};
|
2325
2325
|
function createViewVideo(context, internalContext, callId, stream, participantId, options) {
|
2326
|
-
return __awaiter$
|
2326
|
+
return __awaiter$A(this, void 0, void 0, function* () {
|
2327
2327
|
// we can only have 3 types of createView
|
2328
2328
|
let streamEventType;
|
2329
2329
|
// we will reuse these for local as well but we need to make sure the remote stream is passed in like before.
|
@@ -2445,7 +2445,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
|
|
2445
2445
|
});
|
2446
2446
|
}
|
2447
2447
|
function createViewUnparentedVideo(context, internalContext, stream, options) {
|
2448
|
-
return __awaiter$
|
2448
|
+
return __awaiter$A(this, void 0, void 0, function* () {
|
2449
2449
|
const renderInfo = internalContext.getUnparentedRenderInfo(stream);
|
2450
2450
|
if (renderInfo && renderInfo.status === 'Rendered') {
|
2451
2451
|
console.warn('Unparented LocalVideoStream is already rendered');
|
@@ -2613,7 +2613,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
|
|
2613
2613
|
// Render LocalVideoStream that is not part of a Call
|
2614
2614
|
// 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).
|
2615
2615
|
// We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
|
2616
|
-
return context.withAsyncErrorTeedToState(() => __awaiter$
|
2616
|
+
return context.withAsyncErrorTeedToState(() => __awaiter$A(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
|
2617
2617
|
}
|
2618
2618
|
else {
|
2619
2619
|
_logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
|
@@ -3047,7 +3047,7 @@ class CallSubscriber {
|
|
3047
3047
|
|
3048
3048
|
// Copyright (c) Microsoft Corporation.
|
3049
3049
|
// Licensed under the MIT license.
|
3050
|
-
var __awaiter$
|
3050
|
+
var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3051
3051
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3052
3052
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3053
3053
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3067,14 +3067,14 @@ class ProxyIncomingCall {
|
|
3067
3067
|
switch (prop) {
|
3068
3068
|
case 'accept': {
|
3069
3069
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3070
|
-
return __awaiter$
|
3070
|
+
return __awaiter$z(this, void 0, void 0, function* () {
|
3071
3071
|
return yield target.accept(...args);
|
3072
3072
|
});
|
3073
3073
|
}, 'IncomingCall.accept');
|
3074
3074
|
}
|
3075
3075
|
case 'reject': {
|
3076
3076
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3077
|
-
return __awaiter$
|
3077
|
+
return __awaiter$z(this, void 0, void 0, function* () {
|
3078
3078
|
return yield target.reject(...args);
|
3079
3079
|
});
|
3080
3080
|
}, 'IncomingCall.reject');
|
@@ -3311,7 +3311,7 @@ const clearCallRelatedState = (context, internalContext) => {
|
|
3311
3311
|
|
3312
3312
|
// Copyright (c) Microsoft Corporation.
|
3313
3313
|
// Licensed under the MIT license.
|
3314
|
-
var __awaiter$
|
3314
|
+
var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3315
3315
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3316
3316
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3317
3317
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3337,56 +3337,56 @@ class ProxyCallCommon {
|
|
3337
3337
|
switch (prop) {
|
3338
3338
|
case 'mute': {
|
3339
3339
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3340
|
-
return __awaiter$
|
3340
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3341
3341
|
return yield target.mute(...args);
|
3342
3342
|
});
|
3343
3343
|
}, 'Call.mute');
|
3344
3344
|
}
|
3345
3345
|
case 'unmute': {
|
3346
3346
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3347
|
-
return __awaiter$
|
3347
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3348
3348
|
return yield target.unmute(...args);
|
3349
3349
|
});
|
3350
3350
|
}, 'Call.unmute');
|
3351
3351
|
}
|
3352
3352
|
case 'startVideo': {
|
3353
3353
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3354
|
-
return __awaiter$
|
3354
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3355
3355
|
return yield target.startVideo(...args);
|
3356
3356
|
});
|
3357
3357
|
}, 'Call.startVideo');
|
3358
3358
|
}
|
3359
3359
|
case 'stopVideo': {
|
3360
3360
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3361
|
-
return __awaiter$
|
3361
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3362
3362
|
return yield target.stopVideo(...args);
|
3363
3363
|
});
|
3364
3364
|
}, 'Call.stopVideo');
|
3365
3365
|
}
|
3366
3366
|
case 'startScreenSharing': {
|
3367
3367
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3368
|
-
return __awaiter$
|
3368
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3369
3369
|
return yield target.startScreenSharing(...args);
|
3370
3370
|
});
|
3371
3371
|
}, 'Call.startScreenSharing');
|
3372
3372
|
}
|
3373
3373
|
case 'stopScreenSharing': {
|
3374
3374
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3375
|
-
return __awaiter$
|
3375
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3376
3376
|
return yield target.stopScreenSharing(...args);
|
3377
3377
|
});
|
3378
3378
|
}, 'Call.stopScreenSharing');
|
3379
3379
|
}
|
3380
3380
|
case 'hold': {
|
3381
3381
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3382
|
-
return __awaiter$
|
3382
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3383
3383
|
return yield target.hold(...args);
|
3384
3384
|
});
|
3385
3385
|
}, 'Call.hold');
|
3386
3386
|
}
|
3387
3387
|
case 'resume': {
|
3388
3388
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3389
|
-
return __awaiter$
|
3389
|
+
return __awaiter$y(this, void 0, void 0, function* () {
|
3390
3390
|
return yield target.resume(...args);
|
3391
3391
|
});
|
3392
3392
|
}, 'Call.resume');
|
@@ -3399,7 +3399,7 @@ class ProxyCallCommon {
|
|
3399
3399
|
|
3400
3400
|
// Copyright (c) Microsoft Corporation.
|
3401
3401
|
// Licensed under the MIT license.
|
3402
|
-
var __awaiter$
|
3402
|
+
var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3403
3403
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3404
3404
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3405
3405
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3413,7 +3413,7 @@ class ProxyCall extends ProxyCallCommon {
|
|
3413
3413
|
switch (prop) {
|
3414
3414
|
case 'addParticipant': {
|
3415
3415
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3416
|
-
return __awaiter$
|
3416
|
+
return __awaiter$x(this, void 0, void 0, function* () {
|
3417
3417
|
return yield target.addParticipant(...args);
|
3418
3418
|
});
|
3419
3419
|
}, 'Call.addParticipant');
|
@@ -3634,7 +3634,7 @@ class InternalCallContext {
|
|
3634
3634
|
|
3635
3635
|
// Copyright (c) Microsoft Corporation.
|
3636
3636
|
// Licensed under the MIT license.
|
3637
|
-
var __awaiter$
|
3637
|
+
var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3638
3638
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3639
3639
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3640
3640
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3649,7 +3649,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
|
|
3649
3649
|
switch (prop) {
|
3650
3650
|
case 'addParticipant': {
|
3651
3651
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3652
|
-
return __awaiter$
|
3652
|
+
return __awaiter$w(this, void 0, void 0, function* () {
|
3653
3653
|
return yield target.addParticipant(...args);
|
3654
3654
|
});
|
3655
3655
|
}, 'TeamsCall.addParticipant');
|
@@ -3764,7 +3764,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
|
|
3764
3764
|
|
3765
3765
|
// Copyright (c) Microsoft Corporation.
|
3766
3766
|
// Licensed under the MIT license.
|
3767
|
-
var __awaiter$
|
3767
|
+
var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3768
3768
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3769
3769
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3770
3770
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3786,7 +3786,7 @@ class ProxyVideoStreamRendererView {
|
|
3786
3786
|
get(target, prop) {
|
3787
3787
|
switch (prop) {
|
3788
3788
|
case 'updateScalingMode': {
|
3789
|
-
return (...args) => __awaiter$
|
3789
|
+
return (...args) => __awaiter$v(this, void 0, void 0, function* () {
|
3790
3790
|
yield target.updateScalingMode(...args);
|
3791
3791
|
this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
|
3792
3792
|
});
|
@@ -3807,7 +3807,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
|
|
3807
3807
|
|
3808
3808
|
// Copyright (c) Microsoft Corporation.
|
3809
3809
|
// Licensed under the MIT license.
|
3810
|
-
var __awaiter$
|
3810
|
+
var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3811
3811
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3812
3812
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3813
3813
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3829,7 +3829,7 @@ class ProxyCallClient {
|
|
3829
3829
|
get(target, prop) {
|
3830
3830
|
switch (prop) {
|
3831
3831
|
case 'createCallAgent': {
|
3832
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
3832
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
|
3833
3833
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
3834
3834
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
3835
3835
|
// callAgent if the createCallAgent succeeds.
|
@@ -3842,7 +3842,7 @@ class ProxyCallClient {
|
|
3842
3842
|
}), 'CallClient.createCallAgent');
|
3843
3843
|
}
|
3844
3844
|
case 'createTeamsCallAgent': {
|
3845
|
-
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
3845
|
+
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
|
3846
3846
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
3847
3847
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
3848
3848
|
// callAgent if the createCallAgent succeeds.
|
@@ -3855,7 +3855,7 @@ class ProxyCallClient {
|
|
3855
3855
|
}), 'CallClient.createTeamsCallAgent');
|
3856
3856
|
}
|
3857
3857
|
case 'getDeviceManager': {
|
3858
|
-
return this._context.withAsyncErrorTeedToState(() => __awaiter$
|
3858
|
+
return this._context.withAsyncErrorTeedToState(() => __awaiter$u(this, void 0, void 0, function* () {
|
3859
3859
|
// As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
|
3860
3860
|
// DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
|
3861
3861
|
// throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
|
@@ -3884,7 +3884,7 @@ class ProxyCallClient {
|
|
3884
3884
|
/**
|
3885
3885
|
* add to this object if we want to proxy anything else off the DebugInfo feature object.
|
3886
3886
|
*/
|
3887
|
-
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$
|
3887
|
+
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$u(this, void 0, void 0, function* () {
|
3888
3888
|
const environmentInfo = yield feature.getEnvironmentInfo();
|
3889
3889
|
this._context.setEnvironmentInfo(environmentInfo);
|
3890
3890
|
return environmentInfo;
|
@@ -3937,7 +3937,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
|
|
3937
3937
|
});
|
3938
3938
|
Object.defineProperty(callClient, 'createView', {
|
3939
3939
|
configurable: false,
|
3940
|
-
value: (callId, participantId, stream, options) => __awaiter$
|
3940
|
+
value: (callId, participantId, stream, options) => __awaiter$u(void 0, void 0, void 0, function* () {
|
3941
3941
|
const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
|
3942
3942
|
const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
|
3943
3943
|
// We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
|
@@ -4676,6 +4676,25 @@ const customIconName = {
|
|
4676
4676
|
const isValidString = (string) => {
|
4677
4677
|
return !!string && string.length > 0;
|
4678
4678
|
};
|
4679
|
+
/**
|
4680
|
+
* Chunk an array into rows of a given size.
|
4681
|
+
* @private
|
4682
|
+
*/
|
4683
|
+
function chunk(options, itemsPerRow) {
|
4684
|
+
const rows = [];
|
4685
|
+
let currentRow = [];
|
4686
|
+
for (const option of options) {
|
4687
|
+
currentRow.push(option);
|
4688
|
+
if (currentRow.length === itemsPerRow) {
|
4689
|
+
rows.push(currentRow);
|
4690
|
+
currentRow = [];
|
4691
|
+
}
|
4692
|
+
}
|
4693
|
+
if (currentRow.length > 0) {
|
4694
|
+
rows.push(currentRow);
|
4695
|
+
}
|
4696
|
+
return rows;
|
4697
|
+
}
|
4679
4698
|
|
4680
4699
|
// Copyright (c) Microsoft Corporation.
|
4681
4700
|
/**
|
@@ -6868,7 +6887,7 @@ const chatMessageActionMenuProps = (menuProps) => {
|
|
6868
6887
|
return actionMenuProps;
|
6869
6888
|
};
|
6870
6889
|
|
6871
|
-
var __awaiter$
|
6890
|
+
var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6872
6891
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6873
6892
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6874
6893
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -6893,7 +6912,7 @@ const _FileDownloadCards = (props) => {
|
|
6893
6912
|
var _a, _b;
|
6894
6913
|
return (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadFile) !== null && _b !== void 0 ? _b : localeStrings.downloadFile;
|
6895
6914
|
}, [(_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadFile, localeStrings.downloadFile]);
|
6896
|
-
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$
|
6915
|
+
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$t(void 0, void 0, void 0, function* () {
|
6897
6916
|
if (!props.downloadHandler) {
|
6898
6917
|
window.open(file.url, '_blank', 'noopener,noreferrer');
|
6899
6918
|
}
|
@@ -7054,7 +7073,7 @@ const ChatMessageComponentAsMessageBubble = React__default['default'].memo(Messa
|
|
7054
7073
|
|
7055
7074
|
// Copyright (c) Microsoft Corporation.
|
7056
7075
|
// Licensed under the MIT license.
|
7057
|
-
var __awaiter$
|
7076
|
+
var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
7058
7077
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
7059
7078
|
return new (P || (P = Promise))(function (resolve, reject) {
|
7060
7079
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -7086,7 +7105,7 @@ const ChatMessageComponent = (props) => {
|
|
7086
7105
|
onSendMessage && onSendMessage(content !== undefined ? content : '');
|
7087
7106
|
}, [clientMessageId, content, onSendMessage, onDeleteMessage]);
|
7088
7107
|
if (isEditing && message.messageType === 'chat') {
|
7089
|
-
return (React__default['default'].createElement(ChatMessageComponentAsEditBox, { message: message, inlineEditButtons: props.inlineAcceptRejectEditButtons, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$
|
7108
|
+
return (React__default['default'].createElement(ChatMessageComponentAsEditBox, { message: message, inlineEditButtons: props.inlineAcceptRejectEditButtons, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$s(void 0, void 0, void 0, function* () {
|
7090
7109
|
props.onUpdateMessage &&
|
7091
7110
|
message.messageId &&
|
7092
7111
|
(yield props.onUpdateMessage(message.messageId, text, metadata, options));
|
@@ -7192,7 +7211,7 @@ var getParticipantsWhoHaveReadMessage = (message, readReceiptsBySenderId) => {
|
|
7192
7211
|
|
7193
7212
|
// Copyright (c) Microsoft Corporation.
|
7194
7213
|
// Licensed under the MIT license.
|
7195
|
-
var __awaiter$
|
7214
|
+
var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
7196
7215
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
7197
7216
|
return new (P || (P = Promise))(function (resolve, reject) {
|
7198
7217
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -7441,7 +7460,7 @@ const MessageThread = (props) => {
|
|
7441
7460
|
setChatMessagesInitialized(chatMessagesInitialized);
|
7442
7461
|
};
|
7443
7462
|
// we try to only send those message status if user is scrolled to the bottom.
|
7444
|
-
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$
|
7463
|
+
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$r(void 0, void 0, void 0, function* () {
|
7445
7464
|
if (!isAtBottomOfScrollRef.current ||
|
7446
7465
|
!document.hasFocus() ||
|
7447
7466
|
!messagesRef.current ||
|
@@ -7492,7 +7511,7 @@ const MessageThread = (props) => {
|
|
7492
7511
|
setIsAtBottomOfScrollRef(atBottom);
|
7493
7512
|
}, [scrollToBottom, sendMessageStatusIfAtBottom]);
|
7494
7513
|
// Infinite scrolling + threadInitialize function
|
7495
|
-
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$
|
7514
|
+
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$r(void 0, void 0, void 0, function* () {
|
7496
7515
|
if (!isLoadingChatMessagesRef.current) {
|
7497
7516
|
if (onLoadPreviousChatMessages) {
|
7498
7517
|
isLoadingChatMessagesRef.current = true;
|
@@ -11818,7 +11837,7 @@ const DevicesButton = (props) => {
|
|
11818
11837
|
|
11819
11838
|
// Copyright (c) Microsoft Corporation.
|
11820
11839
|
// Licensed under the MIT license.
|
11821
|
-
var __awaiter$
|
11840
|
+
var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
11822
11841
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
11823
11842
|
return new (P || (P = Promise))(function (resolve, reject) {
|
11824
11843
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -11856,7 +11875,7 @@ const CameraButton = (props) => {
|
|
11856
11875
|
const toggleAnnouncerString = React.useCallback((isCameraOn) => {
|
11857
11876
|
setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
|
11858
11877
|
}, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
|
11859
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
11878
|
+
const onToggleClick = React.useCallback(() => __awaiter$q(void 0, void 0, void 0, function* () {
|
11860
11879
|
// Throttle click on camera, need to await onToggleCamera then allow another click
|
11861
11880
|
if (onToggleCamera) {
|
11862
11881
|
setWaitForCamera(true);
|
@@ -12021,7 +12040,7 @@ const lightThemeCallButtonStyles = {
|
|
12021
12040
|
|
12022
12041
|
// Copyright (c) Microsoft Corporation.
|
12023
12042
|
// Licensed under the MIT license.
|
12024
|
-
var __awaiter$
|
12043
|
+
var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
12025
12044
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
12026
12045
|
return new (P || (P = Promise))(function (resolve, reject) {
|
12027
12046
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -12062,7 +12081,7 @@ const MicrophoneButton = (props) => {
|
|
12062
12081
|
const toggleAnnouncerString = React.useCallback((isMicOn) => {
|
12063
12082
|
setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
|
12064
12083
|
}, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
|
12065
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
12084
|
+
const onToggleClick = React.useCallback(() => __awaiter$p(void 0, void 0, void 0, function* () {
|
12066
12085
|
if (onToggleMicrophone) {
|
12067
12086
|
try {
|
12068
12087
|
yield onToggleMicrophone();
|
@@ -12950,7 +12969,7 @@ const formatPhoneNumber = (phoneNumber) => {
|
|
12950
12969
|
|
12951
12970
|
// Copyright (c) Microsoft Corporation.
|
12952
12971
|
// Licensed under the MIT license.
|
12953
|
-
var __awaiter$
|
12972
|
+
var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
12954
12973
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
12955
12974
|
return new (P || (P = Promise))(function (resolve, reject) {
|
12956
12975
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -12992,10 +13011,10 @@ const DialpadButton = (props) => {
|
|
12992
13011
|
const theme = react.useTheme();
|
12993
13012
|
const { digit, index, onClick, onLongPress, isMobile = false } = props;
|
12994
13013
|
const useLongPressProps = React__default['default'].useMemo(() => ({
|
12995
|
-
onClick: () => __awaiter$
|
13014
|
+
onClick: () => __awaiter$o(void 0, void 0, void 0, function* () {
|
12996
13015
|
onClick(digit, index);
|
12997
13016
|
}),
|
12998
|
-
onLongPress: () => __awaiter$
|
13017
|
+
onLongPress: () => __awaiter$o(void 0, void 0, void 0, function* () {
|
12999
13018
|
onLongPress(digit, index);
|
13000
13019
|
}),
|
13001
13020
|
touchEventsOnly: isMobile
|
@@ -13380,6 +13399,121 @@ const _DevicePermissionDropdown = (props) => {
|
|
13380
13399
|
}, options: options !== null && options !== void 0 ? options : [], styles: styles }));
|
13381
13400
|
};
|
13382
13401
|
|
13402
|
+
// Copyright (c) Microsoft Corporation.
|
13403
|
+
/**
|
13404
|
+
* A component for displaying a Video Background Effect Option.
|
13405
|
+
*
|
13406
|
+
* @internal
|
13407
|
+
*/
|
13408
|
+
const _VideoEffectsItem = (props) => {
|
13409
|
+
var _a, _b, _c, _d, _e, _f;
|
13410
|
+
const theme = react.useTheme();
|
13411
|
+
const isSelected = (_a = props.isSelected) !== null && _a !== void 0 ? _a : false;
|
13412
|
+
const disabled = (_b = props.disabled) !== null && _b !== void 0 ? _b : false;
|
13413
|
+
const backgroundImage = (_c = props.backgroundProps) === null || _c === void 0 ? void 0 : _c.url;
|
13414
|
+
const containerStyles = React.useCallback(() => videoEffectsItemContainerStyles({
|
13415
|
+
theme,
|
13416
|
+
isSelected,
|
13417
|
+
disabled,
|
13418
|
+
backgroundImage,
|
13419
|
+
backgroundPosition,
|
13420
|
+
backgroundSize
|
13421
|
+
}), [backgroundImage, disabled, isSelected, theme]);
|
13422
|
+
return (React__default['default'].createElement(react.TooltipHost, Object.assign({}, props.tooltipProps),
|
13423
|
+
React__default['default'].createElement(react.Stack, { key: props.key, className: react.mergeStyles((_d = props.styles) === null || _d === void 0 ? void 0 : _d.root), verticalAlign: "center", horizontalAlign: "center", styles: containerStyles, onClick: disabled ? undefined : () => { var _a; return (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, props.key); }, onKeyDown: disabled
|
13424
|
+
? undefined
|
13425
|
+
: (e) => {
|
13426
|
+
var _a;
|
13427
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
13428
|
+
(_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, props.key);
|
13429
|
+
}
|
13430
|
+
}, tabIndex: props.disabled ? -1 : 0, "aria-label": props.ariaLabel, "aria-disabled": props.disabled, role: "button" },
|
13431
|
+
props.iconProps && (React__default['default'].createElement(react.Stack.Item, { styles: { root: (_e = props.styles) === null || _e === void 0 ? void 0 : _e.iconContainer } },
|
13432
|
+
React__default['default'].createElement(react.Icon, Object.assign({}, props.iconProps)))),
|
13433
|
+
props.title && (React__default['default'].createElement(react.Stack.Item, { styles: { root: (_f = props.styles) === null || _f === void 0 ? void 0 : _f.textContainer } },
|
13434
|
+
React__default['default'].createElement(react.Text, { variant: "small" }, props.title))))));
|
13435
|
+
};
|
13436
|
+
const backgroundPosition = 'center';
|
13437
|
+
const backgroundSize = 'cover';
|
13438
|
+
const videoEffectsItemContainerStyles = (args) => {
|
13439
|
+
const borderDefaultThickness = '1px';
|
13440
|
+
const borderActiveThickness = '2px';
|
13441
|
+
return {
|
13442
|
+
root: {
|
13443
|
+
background: args.disabled ? args.theme.palette.neutralQuaternaryAlt : undefined,
|
13444
|
+
backgroundImage: args.backgroundImage ? `url(${args.backgroundImage})` : undefined,
|
13445
|
+
backgroundPosition: args.backgroundPosition,
|
13446
|
+
backgroundSize: args.backgroundSize,
|
13447
|
+
borderRadius: '0.25rem',
|
13448
|
+
color: args.theme.palette.neutralPrimary,
|
13449
|
+
cursor: args.disabled ? 'default' : 'pointer',
|
13450
|
+
height: '3.375rem',
|
13451
|
+
position: 'relative',
|
13452
|
+
width: '4.83rem',
|
13453
|
+
// Use :after to display a border element. This is used to prevent the background image
|
13454
|
+
// resizing when the border thichkness is changed. We also want the border to be inside
|
13455
|
+
// the frame of the container, i.e. we want it to expand inwards and not outwards when
|
13456
|
+
// border thickness changes from hover/selection.
|
13457
|
+
':after': {
|
13458
|
+
content: '""',
|
13459
|
+
position: 'absolute',
|
13460
|
+
boxSizing: 'border-box',
|
13461
|
+
border: args.isSelected
|
13462
|
+
? `${borderActiveThickness} solid ${args.theme.palette.themePrimary}`
|
13463
|
+
: `${borderDefaultThickness} solid ${args.theme.palette.neutralQuaternaryAlt}`,
|
13464
|
+
height: '100%',
|
13465
|
+
width: '100%',
|
13466
|
+
borderRadius: '0.25rem'
|
13467
|
+
},
|
13468
|
+
':hover': {
|
13469
|
+
':after': {
|
13470
|
+
border: args.disabled && !args.isSelected
|
13471
|
+
? `${borderDefaultThickness} solid ${args.theme.palette.neutralQuaternaryAlt}`
|
13472
|
+
: `${borderActiveThickness} solid ${args.theme.palette.themePrimary}`
|
13473
|
+
}
|
13474
|
+
}
|
13475
|
+
}
|
13476
|
+
};
|
13477
|
+
};
|
13478
|
+
|
13479
|
+
// Copyright (c) Microsoft Corporation.
|
13480
|
+
/**
|
13481
|
+
* Picker for choosing a Video Background Effect.
|
13482
|
+
*
|
13483
|
+
* @remarks
|
13484
|
+
* This functions similar to a radio group of buttons, where the user can select one of the options.
|
13485
|
+
*
|
13486
|
+
* @internal
|
13487
|
+
*/
|
13488
|
+
const _VideoBackgroundEffectsPicker = (props) => {
|
13489
|
+
var _a, _b, _c;
|
13490
|
+
const [componentControlledSelectedEffectKey, setComponentControlledSelectedEffectKey] = React__default['default'].useState(props.defaultSelectedEffectKey);
|
13491
|
+
// Warn the developer if they use the component in an incorrect controlled way.
|
13492
|
+
reactHooks.useWarnings({
|
13493
|
+
name: 'VideoBackgroundEffectsPicker',
|
13494
|
+
props,
|
13495
|
+
controlledUsage: {
|
13496
|
+
onChangeProp: 'onChange',
|
13497
|
+
valueProp: 'selectedEffectKey',
|
13498
|
+
defaultValueProp: 'defaultSelectedEffectKey'
|
13499
|
+
}
|
13500
|
+
});
|
13501
|
+
const selectedEffect = (_a = props.selectedEffectKey) !== null && _a !== void 0 ? _a : componentControlledSelectedEffectKey;
|
13502
|
+
const setSelectedEffect = (selectedEffectKey) => {
|
13503
|
+
var _a;
|
13504
|
+
setComponentControlledSelectedEffectKey(selectedEffectKey);
|
13505
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, selectedEffectKey);
|
13506
|
+
};
|
13507
|
+
const convertedOptions = props.options.map((option) => (Object.assign({ isSelected: option.key === selectedEffect, onSelect: () => setSelectedEffect(option.key) }, option)));
|
13508
|
+
const optionsByRow = props.itemsPerRow === 'wrap' ? [convertedOptions] : chunk(convertedOptions, (_b = props.itemsPerRow) !== null && _b !== void 0 ? _b : 3);
|
13509
|
+
return (React__default['default'].createElement(react.Stack, { tokens: { childrenGap: '0.5rem' } },
|
13510
|
+
React__default['default'].createElement(react.Label, { className: react.mergeStyles((_c = props.styles) === null || _c === void 0 ? void 0 : _c.label) }, props.label),
|
13511
|
+
optionsByRow.map((options, rowIndex) => {
|
13512
|
+
var _a;
|
13513
|
+
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles((_a = props.styles) === null || _a === void 0 ? void 0 : _a.rowRoot), wrap: props.itemsPerRow === 'wrap', horizontal: true, key: rowIndex, tokens: { childrenGap: '0.5rem' } }, options.map((option) => (React__default['default'].createElement(_VideoEffectsItem, Object.assign({}, option, { key: option.key }))))));
|
13514
|
+
})));
|
13515
|
+
};
|
13516
|
+
|
13383
13517
|
// Copyright (c) Microsoft Corporation.
|
13384
13518
|
/**
|
13385
13519
|
* @private
|
@@ -13952,7 +14086,7 @@ const findConditionalCompiledSelector = (component) => {
|
|
13952
14086
|
|
13953
14087
|
// Copyright (c) Microsoft Corporation.
|
13954
14088
|
// Licensed under the MIT license.
|
13955
|
-
var __awaiter$
|
14089
|
+
var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
13956
14090
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13957
14091
|
return new (P || (P = Promise))(function (resolve, reject) {
|
13958
14092
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -13975,35 +14109,35 @@ const createDefaultChatHandlers = memoizeOne__default['default']((chatClient, ch
|
|
13975
14109
|
let messageIterator = undefined;
|
13976
14110
|
let readReceiptIterator = undefined;
|
13977
14111
|
return {
|
13978
|
-
onSendMessage: (content, options) => __awaiter$
|
14112
|
+
onSendMessage: (content, options) => __awaiter$n(void 0, void 0, void 0, function* () {
|
13979
14113
|
const sendMessageRequest = {
|
13980
14114
|
content,
|
13981
14115
|
senderDisplayName: chatClient.getState().displayName
|
13982
14116
|
};
|
13983
14117
|
yield chatThreadClient.sendMessage(sendMessageRequest, options);
|
13984
14118
|
}),
|
13985
|
-
onUpdateMessage: (messageId, content, metadata, options) => __awaiter$
|
14119
|
+
onUpdateMessage: (messageId, content, metadata, options) => __awaiter$n(void 0, void 0, void 0, function* () {
|
13986
14120
|
const updatedMetadata = metadata ? Object.assign({}, metadata) : {};
|
13987
14121
|
updatedMetadata['fileSharingMetadata'] = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachedFilesMetadata) || []);
|
13988
14122
|
yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
|
13989
14123
|
}),
|
13990
|
-
onDeleteMessage: (messageId) => __awaiter$
|
14124
|
+
onDeleteMessage: (messageId) => __awaiter$n(void 0, void 0, void 0, function* () {
|
13991
14125
|
yield chatThreadClient.deleteMessage(messageId);
|
13992
14126
|
}),
|
13993
14127
|
// This handler is designed for chatThread to consume
|
13994
|
-
onMessageSeen: (chatMessageId) => __awaiter$
|
14128
|
+
onMessageSeen: (chatMessageId) => __awaiter$n(void 0, void 0, void 0, function* () {
|
13995
14129
|
yield chatThreadClient.sendReadReceipt({ chatMessageId });
|
13996
14130
|
}),
|
13997
|
-
onTyping: () => __awaiter$
|
14131
|
+
onTyping: () => __awaiter$n(void 0, void 0, void 0, function* () {
|
13998
14132
|
yield chatThreadClient.sendTypingNotification();
|
13999
14133
|
}),
|
14000
|
-
onRemoveParticipant: (userId) => __awaiter$
|
14134
|
+
onRemoveParticipant: (userId) => __awaiter$n(void 0, void 0, void 0, function* () {
|
14001
14135
|
yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
|
14002
14136
|
}),
|
14003
|
-
updateThreadTopicName: (topicName) => __awaiter$
|
14137
|
+
updateThreadTopicName: (topicName) => __awaiter$n(void 0, void 0, void 0, function* () {
|
14004
14138
|
yield chatThreadClient.updateTopic(topicName);
|
14005
14139
|
}),
|
14006
|
-
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$
|
14140
|
+
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$n(void 0, void 0, void 0, function* () {
|
14007
14141
|
var _a, _b, _c;
|
14008
14142
|
if (messageIterator === undefined) {
|
14009
14143
|
// Lazy definition so that errors in the method call are reported correctly.
|
@@ -14775,7 +14909,7 @@ const chatStatefulLogger = logger.createClientLogger('communication-react:chat-s
|
|
14775
14909
|
|
14776
14910
|
// Copyright (c) Microsoft Corporation.
|
14777
14911
|
// Licensed under the MIT license.
|
14778
|
-
var __awaiter$
|
14912
|
+
var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14779
14913
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14780
14914
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14781
14915
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15050,7 +15184,7 @@ class ChatContext$1 {
|
|
15050
15184
|
* @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
|
15051
15185
|
*/
|
15052
15186
|
withAsyncErrorTeedToState(f, target) {
|
15053
|
-
return (...args) => __awaiter$
|
15187
|
+
return (...args) => __awaiter$m(this, void 0, void 0, function* () {
|
15054
15188
|
try {
|
15055
15189
|
return yield f(...args);
|
15056
15190
|
}
|
@@ -15162,7 +15296,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
|
|
15162
15296
|
|
15163
15297
|
// Copyright (c) Microsoft Corporation.
|
15164
15298
|
// Licensed under the MIT license.
|
15165
|
-
var __awaiter$
|
15299
|
+
var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15166
15300
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15167
15301
|
return new (P || (P = Promise))(function (resolve, reject) {
|
15168
15302
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15247,7 +15381,7 @@ class EventSubscriber {
|
|
15247
15381
|
};
|
15248
15382
|
// This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.
|
15249
15383
|
// Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.
|
15250
|
-
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$
|
15384
|
+
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$l(this, void 0, void 0, function* () {
|
15251
15385
|
var e_1, _a;
|
15252
15386
|
try {
|
15253
15387
|
for (var _b = __asyncValues$1(this.chatClient
|
@@ -15339,7 +15473,7 @@ class EventSubscriber {
|
|
15339
15473
|
|
15340
15474
|
// Copyright (c) Microsoft Corporation.
|
15341
15475
|
// Licensed under the MIT license.
|
15342
|
-
var __awaiter$
|
15476
|
+
var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15343
15477
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15344
15478
|
return new (P || (P = Promise))(function (resolve, reject) {
|
15345
15479
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15361,7 +15495,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
15361
15495
|
const threadsIterator = iteratorCreator(...args);
|
15362
15496
|
return {
|
15363
15497
|
next() {
|
15364
|
-
return __awaiter$
|
15498
|
+
return __awaiter$k(this, void 0, void 0, function* () {
|
15365
15499
|
const result = yield threadsIterator.next();
|
15366
15500
|
if (!result.done && result.value) {
|
15367
15501
|
decorateFn(result.value, context);
|
@@ -15376,7 +15510,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
15376
15510
|
const pages = threadsIterator.byPage(settings);
|
15377
15511
|
return {
|
15378
15512
|
next() {
|
15379
|
-
return __awaiter$
|
15513
|
+
return __awaiter$k(this, void 0, void 0, function* () {
|
15380
15514
|
const result = yield pages.next();
|
15381
15515
|
const page = result.value;
|
15382
15516
|
if (!result.done && result.value) {
|
@@ -15460,7 +15594,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
|
|
15460
15594
|
|
15461
15595
|
// Copyright (c) Microsoft Corporation.
|
15462
15596
|
// Licensed under the MIT license.
|
15463
|
-
var __awaiter$
|
15597
|
+
var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15464
15598
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15465
15599
|
return new (P || (P = Promise))(function (resolve, reject) {
|
15466
15600
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15479,14 +15613,14 @@ class ProxyChatThreadClient {
|
|
15479
15613
|
return createDecoratedListMessages(chatThreadClient, this._context);
|
15480
15614
|
}
|
15481
15615
|
case 'getMessage': {
|
15482
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15616
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15483
15617
|
const message = yield chatThreadClient.getMessage(...args);
|
15484
15618
|
this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
|
15485
15619
|
return message;
|
15486
15620
|
}), 'ChatThreadClient.getMessage');
|
15487
15621
|
}
|
15488
15622
|
case 'sendMessage': {
|
15489
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15623
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15490
15624
|
// Retry logic?
|
15491
15625
|
const [request, options] = args;
|
15492
15626
|
const { content } = request;
|
@@ -15526,7 +15660,7 @@ class ProxyChatThreadClient {
|
|
15526
15660
|
}), 'ChatThreadClient.sendMessage');
|
15527
15661
|
}
|
15528
15662
|
case 'addParticipants': {
|
15529
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15663
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15530
15664
|
const result = yield chatThreadClient.addParticipants(...args);
|
15531
15665
|
const [addRequest] = args;
|
15532
15666
|
const participantsToAdd = addRequest.participants;
|
@@ -15535,7 +15669,7 @@ class ProxyChatThreadClient {
|
|
15535
15669
|
}), 'ChatThreadClient.addParticipants');
|
15536
15670
|
}
|
15537
15671
|
case 'deleteMessage': {
|
15538
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15672
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15539
15673
|
// DeleteMessage is able to either delete local one(for failed message) or synced message
|
15540
15674
|
const [messageId] = args;
|
15541
15675
|
if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
|
@@ -15553,12 +15687,12 @@ class ProxyChatThreadClient {
|
|
15553
15687
|
return createDecoratedListReadReceipts(chatThreadClient, this._context);
|
15554
15688
|
}
|
15555
15689
|
case 'sendTypingNotification': {
|
15556
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15690
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15557
15691
|
return yield chatThreadClient.sendTypingNotification(...args);
|
15558
15692
|
}), 'ChatThreadClient.sendTypingNotification');
|
15559
15693
|
}
|
15560
15694
|
case 'removeParticipant': {
|
15561
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15695
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15562
15696
|
const result = yield chatThreadClient.removeParticipant(...args);
|
15563
15697
|
const [removeIdentifier] = args;
|
15564
15698
|
this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
|
@@ -15566,7 +15700,7 @@ class ProxyChatThreadClient {
|
|
15566
15700
|
}), 'ChatThreadClient.removeParticipant');
|
15567
15701
|
}
|
15568
15702
|
case 'updateMessage': {
|
15569
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15703
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15570
15704
|
const result = yield chatThreadClient.updateMessage(...args);
|
15571
15705
|
const [messageId, updateOption] = args;
|
15572
15706
|
this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
|
@@ -15574,7 +15708,7 @@ class ProxyChatThreadClient {
|
|
15574
15708
|
}), 'ChatThreadClient.updateMessage');
|
15575
15709
|
}
|
15576
15710
|
case 'updateTopic': {
|
15577
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15711
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15578
15712
|
const result = yield chatThreadClient.updateTopic(...args);
|
15579
15713
|
const [topic] = args;
|
15580
15714
|
this._context.updateThreadTopic(chatThreadClient.threadId, topic);
|
@@ -15582,7 +15716,7 @@ class ProxyChatThreadClient {
|
|
15582
15716
|
}), 'ChatThreadClient.updateTopic');
|
15583
15717
|
}
|
15584
15718
|
case 'getProperties': {
|
15585
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
15719
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$j(this, void 0, void 0, function* () {
|
15586
15720
|
const result = yield chatThreadClient.getProperties(...args);
|
15587
15721
|
this._context.updateThread(chatThreadClient.threadId, result);
|
15588
15722
|
return result;
|
@@ -15619,7 +15753,7 @@ const createDecoratedListThreads = (chatClient, context) => {
|
|
15619
15753
|
|
15620
15754
|
// Copyright (c) Microsoft Corporation.
|
15621
15755
|
// Licensed under the MIT license.
|
15622
|
-
var __awaiter$
|
15756
|
+
var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15623
15757
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15624
15758
|
return new (P || (P = Promise))(function (resolve, reject) {
|
15625
15759
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15638,7 +15772,7 @@ const proxyChatClient = {
|
|
15638
15772
|
switch (prop) {
|
15639
15773
|
case 'createChatThread': {
|
15640
15774
|
return context.withAsyncErrorTeedToState(function (...args) {
|
15641
|
-
return __awaiter$
|
15775
|
+
return __awaiter$i(this, void 0, void 0, function* () {
|
15642
15776
|
const result = yield chatClient.createChatThread(...args);
|
15643
15777
|
const thread = result.chatThread;
|
15644
15778
|
if (thread) {
|
@@ -15651,7 +15785,7 @@ const proxyChatClient = {
|
|
15651
15785
|
}
|
15652
15786
|
case 'deleteChatThread': {
|
15653
15787
|
return context.withAsyncErrorTeedToState(function (...args) {
|
15654
|
-
return __awaiter$
|
15788
|
+
return __awaiter$i(this, void 0, void 0, function* () {
|
15655
15789
|
const result = yield chatClient.deleteChatThread(...args);
|
15656
15790
|
context.deleteThread(args[0]);
|
15657
15791
|
return result;
|
@@ -15671,7 +15805,7 @@ const proxyChatClient = {
|
|
15671
15805
|
}
|
15672
15806
|
case 'startRealtimeNotifications': {
|
15673
15807
|
return context.withAsyncErrorTeedToState(function (...args) {
|
15674
|
-
return __awaiter$
|
15808
|
+
return __awaiter$i(this, void 0, void 0, function* () {
|
15675
15809
|
const ret = yield chatClient.startRealtimeNotifications(...args);
|
15676
15810
|
if (!receiver.eventSubscriber) {
|
15677
15811
|
receiver.eventSubscriber = new EventSubscriber(chatClient, context);
|
@@ -15682,7 +15816,7 @@ const proxyChatClient = {
|
|
15682
15816
|
}
|
15683
15817
|
case 'stopRealtimeNotifications': {
|
15684
15818
|
return context.withAsyncErrorTeedToState(function (...args) {
|
15685
|
-
return __awaiter$
|
15819
|
+
return __awaiter$i(this, void 0, void 0, function* () {
|
15686
15820
|
const ret = yield chatClient.stopRealtimeNotifications(...args);
|
15687
15821
|
if (receiver.eventSubscriber) {
|
15688
15822
|
receiver.eventSubscriber.unsubscribe();
|
@@ -15838,7 +15972,11 @@ const COMPOSITE_ONLY_ICONS = {
|
|
15838
15972
|
/* @conditional-compile-remove(PSTN-calls) */
|
15839
15973
|
DialpadStartCall: React__default['default'].createElement(reactIcons.Call20Regular, null),
|
15840
15974
|
/* @conditional-compile-remove(rooms) */
|
15841
|
-
NoticePageInvalidRoom: React__default['default'].createElement(reactIcons.Info20Filled, null)
|
15975
|
+
NoticePageInvalidRoom: React__default['default'].createElement(reactIcons.Info20Filled, null),
|
15976
|
+
/* @conditional-compile-remove(video-background-effects) */
|
15977
|
+
BlurVideoBackground: React__default['default'].createElement(reactIcons.VideoBackgroundEffect20Regular, null),
|
15978
|
+
/* @conditional-compile-remove(video-background-effects) */
|
15979
|
+
RemoveVideoBackgroundEffect: React__default['default'].createElement(reactIcons.VideoPerson20Filled, null)
|
15842
15980
|
};
|
15843
15981
|
/**
|
15844
15982
|
* The default set of icons that are available to used in the Composites.
|
@@ -15871,7 +16009,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
|
|
15871
16009
|
*/
|
15872
16010
|
const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
|
15873
16011
|
|
15874
|
-
var call$d={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",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",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",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",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:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",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"};var chat$d={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$d={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",peopleButtonLabel:"People",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$d,chat:chat$d,callWithChat:callWithChat$d};
|
16012
|
+
var call$d={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",effects:"Effects",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",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",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",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",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:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",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"};var chat$d={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$d={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",peopleButtonLabel:"People",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$d,chat:chat$d,callWithChat:callWithChat$d};
|
15875
16013
|
|
15876
16014
|
var call$c={cameraLabel:"Camera",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",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",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",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",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:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",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..."};var chat$c={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$c={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",peopleButtonLabel:"People",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_GB = {call:call$c,chat:chat$c,callWithChat:callWithChat$c};
|
15877
16015
|
|
@@ -16121,7 +16259,7 @@ const uploadFileButtonStringTrampoline = () => {
|
|
16121
16259
|
|
16122
16260
|
// Copyright (c) Microsoft Corporation.
|
16123
16261
|
// Licensed under the MIT license.
|
16124
|
-
var __awaiter$
|
16262
|
+
var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
16125
16263
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16126
16264
|
return new (P || (P = Promise))(function (resolve, reject) {
|
16127
16265
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -16240,7 +16378,7 @@ class AzureCommunicationFileUploadAdapter {
|
|
16240
16378
|
}
|
16241
16379
|
/* @conditional-compile-remove(teams-inline-images) */
|
16242
16380
|
downloadAuthenticatedAttachment(attachmentUrl) {
|
16243
|
-
return __awaiter$
|
16381
|
+
return __awaiter$h(this, void 0, void 0, function* () {
|
16244
16382
|
function fetchWithAuthentication(url, token) {
|
16245
16383
|
const headers = new Headers();
|
16246
16384
|
headers.append('Authorization', `Bearer ${token}`);
|
@@ -16318,7 +16456,7 @@ const END_CALL_PAGES = [
|
|
16318
16456
|
|
16319
16457
|
// Copyright (c) Microsoft Corporation.
|
16320
16458
|
// Licensed under the MIT license.
|
16321
|
-
var __awaiter$
|
16459
|
+
var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
16322
16460
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16323
16461
|
return new (P || (P = Promise))(function (resolve, reject) {
|
16324
16462
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -16541,7 +16679,7 @@ const isDisabled$2 = (option) => {
|
|
16541
16679
|
/**
|
16542
16680
|
* @returns Permissions state for the camera.
|
16543
16681
|
*/
|
16544
|
-
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$
|
16682
|
+
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$g(void 0, void 0, void 0, function* () {
|
16545
16683
|
try {
|
16546
16684
|
return (yield navigator.permissions.query({ name: 'camera' })).state;
|
16547
16685
|
}
|
@@ -16554,7 +16692,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$f(void 0, void 0
|
|
16554
16692
|
/**
|
16555
16693
|
* @returns Permissions state for the microphone.
|
16556
16694
|
*/
|
16557
|
-
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$
|
16695
|
+
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$g(void 0, void 0, void 0, function* () {
|
16558
16696
|
try {
|
16559
16697
|
return (yield navigator.permissions.query({ name: 'microphone' })).state;
|
16560
16698
|
}
|
@@ -16571,7 +16709,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$f(void 0, vo
|
|
16571
16709
|
* If permission API is not supported on this browser, permission state is set to unsupported.
|
16572
16710
|
* @private
|
16573
16711
|
*/
|
16574
|
-
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$
|
16712
|
+
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$g(void 0, void 0, void 0, function* () {
|
16575
16713
|
const [cameraResult, microphoneResult] = yield Promise.all([
|
16576
16714
|
queryCameraPermissionFromPermissionsAPI(),
|
16577
16715
|
queryMicrophonePermissionFromPermissionsAPI()
|
@@ -16648,7 +16786,7 @@ const createParticipantModifier = (createModifiedParticipant) => {
|
|
16648
16786
|
|
16649
16787
|
// Copyright (c) Microsoft Corporation.
|
16650
16788
|
// Licensed under the MIT license.
|
16651
|
-
var __awaiter$
|
16789
|
+
var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
16652
16790
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16653
16791
|
return new (P || (P = Promise))(function (resolve, reject) {
|
16654
16792
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -16776,9 +16914,9 @@ class AzureCommunicationChatAdapter {
|
|
16776
16914
|
this.unsubscribeAllEvents();
|
16777
16915
|
}
|
16778
16916
|
fetchInitialData() {
|
16779
|
-
return __awaiter$
|
16917
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16780
16918
|
// If get properties fails we dont want to try to get the participants after.
|
16781
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16919
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16782
16920
|
var e_1, _a;
|
16783
16921
|
yield this.chatThreadClient.getProperties();
|
16784
16922
|
try {
|
@@ -16812,8 +16950,8 @@ class AzureCommunicationChatAdapter {
|
|
16812
16950
|
this.context.offStateChange(handler);
|
16813
16951
|
}
|
16814
16952
|
sendMessage(content, options = {}) {
|
16815
|
-
return __awaiter$
|
16816
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16953
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16954
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16817
16955
|
/* @conditional-compile-remove(file-sharing) */
|
16818
16956
|
options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
|
16819
16957
|
/* @conditional-compile-remove(file-sharing) */
|
@@ -16830,51 +16968,51 @@ class AzureCommunicationChatAdapter {
|
|
16830
16968
|
});
|
16831
16969
|
}
|
16832
16970
|
sendReadReceipt(chatMessageId) {
|
16833
|
-
return __awaiter$
|
16834
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16971
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16972
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16835
16973
|
yield this.handlers.onMessageSeen(chatMessageId);
|
16836
16974
|
}));
|
16837
16975
|
});
|
16838
16976
|
}
|
16839
16977
|
sendTypingIndicator() {
|
16840
|
-
return __awaiter$
|
16841
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16978
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16979
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16842
16980
|
yield this.handlers.onTyping();
|
16843
16981
|
}));
|
16844
16982
|
});
|
16845
16983
|
}
|
16846
16984
|
removeParticipant(userId) {
|
16847
|
-
return __awaiter$
|
16848
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16985
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16986
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16849
16987
|
yield this.handlers.onRemoveParticipant(userId);
|
16850
16988
|
}));
|
16851
16989
|
});
|
16852
16990
|
}
|
16853
16991
|
setTopic(topicName) {
|
16854
|
-
return __awaiter$
|
16855
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16992
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16993
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16856
16994
|
yield this.handlers.updateThreadTopicName(topicName);
|
16857
16995
|
}));
|
16858
16996
|
});
|
16859
16997
|
}
|
16860
16998
|
loadPreviousChatMessages(messagesToLoad) {
|
16861
|
-
return __awaiter$
|
16862
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
16999
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
17000
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16863
17001
|
return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
|
16864
17002
|
}));
|
16865
17003
|
});
|
16866
17004
|
}
|
16867
17005
|
updateMessage(messageId, content, metadata, options) {
|
16868
|
-
return __awaiter$
|
16869
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
17006
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
17007
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16870
17008
|
/* @conditional-compile-remove(file-sharing) */
|
16871
17009
|
return yield this.handlers.onUpdateMessage(messageId, content, metadata, options);
|
16872
17010
|
}));
|
16873
17011
|
});
|
16874
17012
|
}
|
16875
17013
|
deleteMessage(messageId) {
|
16876
|
-
return __awaiter$
|
16877
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
17014
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
17015
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$f(this, void 0, void 0, function* () {
|
16878
17016
|
return yield this.handlers.onDeleteMessage(messageId);
|
16879
17017
|
}));
|
16880
17018
|
});
|
@@ -16909,7 +17047,7 @@ class AzureCommunicationChatAdapter {
|
|
16909
17047
|
}
|
16910
17048
|
/* @conditional-compile-remove(teams-inline-images) */
|
16911
17049
|
downloadAuthenticatedAttachment(attachmentUrl) {
|
16912
|
-
return __awaiter$
|
17050
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16913
17051
|
if (!this.fileUploadAdapter.downloadAuthenticatedAttachment) {
|
16914
17052
|
return '';
|
16915
17053
|
}
|
@@ -16964,7 +17102,7 @@ class AzureCommunicationChatAdapter {
|
|
16964
17102
|
this.emitter.off(event, listener);
|
16965
17103
|
}
|
16966
17104
|
asyncTeeErrorToEventEmitter(f) {
|
16967
|
-
return __awaiter$
|
17105
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
16968
17106
|
try {
|
16969
17107
|
return yield f();
|
16970
17108
|
}
|
@@ -17006,7 +17144,7 @@ const convertEventType = (type) => {
|
|
17006
17144
|
*
|
17007
17145
|
* @public
|
17008
17146
|
*/
|
17009
|
-
const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$
|
17147
|
+
const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$f(void 0, void 0, void 0, function* () {
|
17010
17148
|
if (!isValidIdentifier(userId)) {
|
17011
17149
|
throw new Error('Provided userId is invalid. Please provide valid identifier object.');
|
17012
17150
|
}
|
@@ -17072,7 +17210,7 @@ beforeDispose) => {
|
|
17072
17210
|
if (!credential || !displayName || !endpoint || !threadId || !userId) {
|
17073
17211
|
return;
|
17074
17212
|
}
|
17075
|
-
(() => __awaiter$
|
17213
|
+
(() => __awaiter$f(void 0, void 0, void 0, function* () {
|
17076
17214
|
if (adapterRef.current) {
|
17077
17215
|
// Dispose the old adapter when a new one is created.
|
17078
17216
|
//
|
@@ -17104,7 +17242,7 @@ beforeDispose) => {
|
|
17104
17242
|
// Dispose any existing adapter when the component unmounts.
|
17105
17243
|
React.useEffect(() => {
|
17106
17244
|
return () => {
|
17107
|
-
(() => __awaiter$
|
17245
|
+
(() => __awaiter$f(void 0, void 0, void 0, function* () {
|
17108
17246
|
if (adapterRef.current) {
|
17109
17247
|
if (beforeDisposeRef.current) {
|
17110
17248
|
yield beforeDisposeRef.current(adapterRef.current);
|
@@ -17125,7 +17263,7 @@ beforeDispose) => {
|
|
17125
17263
|
*
|
17126
17264
|
* @public
|
17127
17265
|
*/
|
17128
|
-
const createAzureCommunicationChatAdapterFromClient = (chatClient, chatThreadClient) => __awaiter$
|
17266
|
+
const createAzureCommunicationChatAdapterFromClient = (chatClient, chatThreadClient) => __awaiter$f(void 0, void 0, void 0, function* () {
|
17129
17267
|
return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);
|
17130
17268
|
});
|
17131
17269
|
const isChatError = (e) => {
|
@@ -17336,7 +17474,7 @@ const sendboxContainerStyles = {
|
|
17336
17474
|
|
17337
17475
|
// Copyright (c) Microsoft Corporation.
|
17338
17476
|
// Licensed under the MIT license.
|
17339
|
-
var __awaiter$
|
17477
|
+
var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
17340
17478
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
17341
17479
|
return new (P || (P = Promise))(function (resolve, reject) {
|
17342
17480
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -17357,7 +17495,7 @@ const AvatarPersona = (props) => {
|
|
17357
17495
|
const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
|
17358
17496
|
const [data, setData] = React.useState();
|
17359
17497
|
React.useEffect(() => {
|
17360
|
-
(() => __awaiter$
|
17498
|
+
(() => __awaiter$e(void 0, void 0, void 0, function* () {
|
17361
17499
|
if (dataProvider && userId) {
|
17362
17500
|
const newData = yield dataProvider(userId);
|
17363
17501
|
if (avatarDeepDifferenceCheck(data, newData)) {
|
@@ -17721,7 +17859,7 @@ const FileDownloadErrorBar = (props) => {
|
|
17721
17859
|
|
17722
17860
|
// Copyright (c) Microsoft Corporation.
|
17723
17861
|
// Licensed under the MIT license.
|
17724
|
-
var __awaiter$
|
17862
|
+
var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
17725
17863
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
17726
17864
|
return new (P || (P = Promise))(function (resolve, reject) {
|
17727
17865
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -17742,7 +17880,7 @@ const ChatScreen = (props) => {
|
|
17742
17880
|
const theme = useTheme();
|
17743
17881
|
React.useEffect(() => {
|
17744
17882
|
// Initial data should be always fetched by the composite(or external caller) instead of the adapter
|
17745
|
-
const fetchData = () => __awaiter$
|
17883
|
+
const fetchData = () => __awaiter$d(void 0, void 0, void 0, function* () {
|
17746
17884
|
// Fetch initial data for adapter
|
17747
17885
|
yield adapter.fetchInitialData();
|
17748
17886
|
// Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.
|
@@ -17947,7 +18085,7 @@ const adaptCompositeState = (compositeState) => {
|
|
17947
18085
|
|
17948
18086
|
// Copyright (c) Microsoft Corporation.
|
17949
18087
|
// Licensed under the MIT license.
|
17950
|
-
var __awaiter$
|
18088
|
+
var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
17951
18089
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
17952
18090
|
return new (P || (P = Promise))(function (resolve, reject) {
|
17953
18091
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -17966,88 +18104,88 @@ _component) => {
|
|
17966
18104
|
return createCompositeHandlers(useAdapter());
|
17967
18105
|
};
|
17968
18106
|
const createCompositeHandlers = memoizeOne__default['default']((adapter) => ({
|
17969
|
-
onCreateLocalStreamView: (options) => __awaiter$
|
18107
|
+
onCreateLocalStreamView: (options) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17970
18108
|
return yield adapter.createStreamView(undefined, options);
|
17971
18109
|
}),
|
17972
|
-
onCreateRemoteStreamView: (userId, options) => __awaiter$
|
18110
|
+
onCreateRemoteStreamView: (userId, options) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17973
18111
|
return yield adapter.createStreamView(userId, options);
|
17974
18112
|
}),
|
17975
|
-
onHangUp: (forEveryone) => __awaiter$
|
18113
|
+
onHangUp: (forEveryone) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17976
18114
|
yield adapter.leaveCall(forEveryone);
|
17977
18115
|
}),
|
17978
18116
|
/* @conditional-compile-remove(PSTN-calls) */
|
17979
|
-
onToggleHold: () => __awaiter$
|
18117
|
+
onToggleHold: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
17980
18118
|
var _a;
|
17981
18119
|
return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
|
17982
18120
|
}),
|
17983
18121
|
/* @conditional-compile-remove(PSTN-calls) */
|
17984
|
-
onAddParticipant: (participant, options) => __awaiter$
|
18122
|
+
onAddParticipant: (participant, options) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17985
18123
|
return yield adapter.addParticipant(participant, options);
|
17986
18124
|
}),
|
17987
18125
|
/* @conditional-compile-remove(PSTN-calls) */
|
17988
|
-
onSendDtmfTone: (dtmfTone) => __awaiter$
|
18126
|
+
onSendDtmfTone: (dtmfTone) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17989
18127
|
yield adapter.sendDtmfTone(dtmfTone);
|
17990
18128
|
}),
|
17991
|
-
onRemoveParticipant: (userId) => __awaiter$
|
18129
|
+
onRemoveParticipant: (userId) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17992
18130
|
yield adapter.removeParticipant(userId);
|
17993
18131
|
}),
|
17994
|
-
onSelectCamera: (deviceInfo, options) => __awaiter$
|
18132
|
+
onSelectCamera: (deviceInfo, options) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17995
18133
|
yield adapter.setCamera(deviceInfo, options);
|
17996
18134
|
}),
|
17997
|
-
onSelectMicrophone: (deviceInfo) => __awaiter$
|
18135
|
+
onSelectMicrophone: (deviceInfo) => __awaiter$c(void 0, void 0, void 0, function* () {
|
17998
18136
|
yield adapter.setMicrophone(deviceInfo);
|
17999
18137
|
}),
|
18000
|
-
onSelectSpeaker: (deviceInfo) => __awaiter$
|
18138
|
+
onSelectSpeaker: (deviceInfo) => __awaiter$c(void 0, void 0, void 0, function* () {
|
18001
18139
|
yield adapter.setSpeaker(deviceInfo);
|
18002
18140
|
}),
|
18003
18141
|
onStartCall: (participants, options) => {
|
18004
18142
|
const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
|
18005
18143
|
return adapter.startCall(rawIds, options);
|
18006
18144
|
},
|
18007
|
-
onStartScreenShare: () => __awaiter$
|
18145
|
+
onStartScreenShare: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18008
18146
|
yield adapter.startScreenShare();
|
18009
18147
|
}),
|
18010
|
-
onStopScreenShare: () => __awaiter$
|
18148
|
+
onStopScreenShare: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18011
18149
|
yield adapter.stopScreenShare();
|
18012
18150
|
}),
|
18013
|
-
onToggleCamera: (options) => __awaiter$
|
18151
|
+
onToggleCamera: (options) => __awaiter$c(void 0, void 0, void 0, function* () {
|
18014
18152
|
isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
|
18015
18153
|
}),
|
18016
|
-
onToggleMicrophone: () => __awaiter$
|
18154
|
+
onToggleMicrophone: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18017
18155
|
var _b;
|
18018
18156
|
return ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.isMuted) ? yield adapter.unmute() : yield adapter.mute();
|
18019
18157
|
}),
|
18020
|
-
onToggleScreenShare: () => __awaiter$
|
18158
|
+
onToggleScreenShare: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18021
18159
|
var _c;
|
18022
18160
|
return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isScreenSharingOn)
|
18023
18161
|
? yield adapter.stopScreenShare()
|
18024
18162
|
: yield adapter.startScreenShare();
|
18025
18163
|
}),
|
18026
|
-
onStartLocalVideo: () => __awaiter$
|
18164
|
+
onStartLocalVideo: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18027
18165
|
if (adapter.getState().call) {
|
18028
18166
|
return adapter.startCamera();
|
18029
18167
|
}
|
18030
18168
|
}),
|
18031
|
-
onDisposeLocalStreamView: () => __awaiter$
|
18169
|
+
onDisposeLocalStreamView: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18032
18170
|
return adapter.disposeStreamView();
|
18033
18171
|
}),
|
18034
|
-
onDisposeRemoteStreamView: (userId) => __awaiter$
|
18172
|
+
onDisposeRemoteStreamView: (userId) => __awaiter$c(void 0, void 0, void 0, function* () {
|
18035
18173
|
return adapter.disposeStreamView(userId);
|
18036
18174
|
}),
|
18037
18175
|
/* @conditional-compile-remove(call-readiness) */
|
18038
|
-
askDevicePermission: (constrain) => __awaiter$
|
18176
|
+
askDevicePermission: (constrain) => __awaiter$c(void 0, void 0, void 0, function* () {
|
18039
18177
|
return adapter.askDevicePermission(constrain);
|
18040
18178
|
}),
|
18041
18179
|
/* @conditional-compile-remove(video-background-effects) */
|
18042
|
-
onRemoveVideoBackgroundEffects: () => __awaiter$
|
18180
|
+
onRemoveVideoBackgroundEffects: () => __awaiter$c(void 0, void 0, void 0, function* () {
|
18043
18181
|
return yield adapter.stopVideoBackgroundEffect();
|
18044
18182
|
}),
|
18045
18183
|
/* @conditional-compile-remove(video-background-effects) */
|
18046
|
-
onBlurVideoBackground: (bgBlurConfig) => __awaiter$
|
18184
|
+
onBlurVideoBackground: (bgBlurConfig) => __awaiter$c(void 0, void 0, void 0, function* () {
|
18047
18185
|
return yield adapter.blurVideoBackground(bgBlurConfig);
|
18048
18186
|
}),
|
18049
18187
|
/* @conditional-compile-remove(video-background-effects) */
|
18050
|
-
onReplaceVideoBackground: (bgReplacementConfig) => __awaiter$
|
18188
|
+
onReplaceVideoBackground: (bgReplacementConfig) => __awaiter$c(void 0, void 0, void 0, function* () {
|
18051
18189
|
return yield adapter.replaceVideoBackground(bgReplacementConfig);
|
18052
18190
|
})
|
18053
18191
|
}));
|
@@ -19399,7 +19537,7 @@ const AddPeopleButton = (props) => {
|
|
19399
19537
|
|
19400
19538
|
// Copyright (c) Microsoft Corporation.
|
19401
19539
|
// Licensed under the MIT license.
|
19402
|
-
var __awaiter$
|
19540
|
+
var __awaiter$b = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
19403
19541
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
19404
19542
|
return new (P || (P = Promise))(function (resolve, reject) {
|
19405
19543
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -19435,7 +19573,7 @@ const PeoplePaneContent = (props) => {
|
|
19435
19573
|
setDrawerMenuItems
|
19436
19574
|
]);
|
19437
19575
|
const participantListProps = React.useMemo(() => {
|
19438
|
-
const onRemoveAParticipant = (participantId) => __awaiter$
|
19576
|
+
const onRemoveAParticipant = (participantId) => __awaiter$b(void 0, void 0, void 0, function* () { return onRemoveParticipant(participantId); });
|
19439
19577
|
return Object.assign(Object.assign({}, participantListDefaultProps), {
|
19440
19578
|
// Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked
|
19441
19579
|
onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,
|
@@ -19634,7 +19772,7 @@ const useMinMaxDragPosition = (modalLayerHostId, rtl) => {
|
|
19634
19772
|
return { minDragPosition: minDragPosition, maxDragPosition: maxDragPosition };
|
19635
19773
|
};
|
19636
19774
|
|
19637
|
-
var __awaiter$
|
19775
|
+
var __awaiter$a = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
19638
19776
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
19639
19777
|
return new (P || (P = Promise))(function (resolve, reject) {
|
19640
19778
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -19664,11 +19802,11 @@ const CallPane = (props) => {
|
|
19664
19802
|
/**
|
19665
19803
|
* In a Call Composite when a participant is removed, we must remove them from the call.
|
19666
19804
|
*/
|
19667
|
-
const removeParticipantFromCall = (participantId) => __awaiter$
|
19805
|
+
const removeParticipantFromCall = (participantId) => __awaiter$a(void 0, void 0, void 0, function* () {
|
19668
19806
|
yield props.callAdapter.removeParticipant(participantId);
|
19669
19807
|
});
|
19670
19808
|
/* @conditional-compile-remove(PSTN-calls) */
|
19671
|
-
const addParticipantToCall = (participant, options) => __awaiter$
|
19809
|
+
const addParticipantToCall = (participant, options) => __awaiter$a(void 0, void 0, void 0, function* () {
|
19672
19810
|
yield props.callAdapter.addParticipant(participant, options);
|
19673
19811
|
});
|
19674
19812
|
const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId, props.rtl);
|
@@ -19794,12 +19932,6 @@ const CallArrangement = (props) => {
|
|
19794
19932
|
return (React__default['default'].createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
|
19795
19933
|
React__default['default'].createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
19796
19934
|
React__default['default'].createElement(react.Stack, { grow: true, styles: callArrangementContainerStyles },
|
19797
|
-
React__default['default'].createElement(react.Stack.Item, { styles: notificationsContainerStyles },
|
19798
|
-
React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
19799
|
-
React__default['default'].createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
|
19800
|
-
errorBarProps !== false && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
19801
|
-
React__default['default'].createElement(ErrorBar, Object.assign({}, errorBarProps)))),
|
19802
|
-
canUnmute && !!props.mutedNotificationProps && React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps))),
|
19803
19935
|
((_b = props.callControlProps) === null || _b === void 0 ? void 0 : _b.options) !== false &&
|
19804
19936
|
/* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */
|
19805
19937
|
!isMobileWithActivePane && (React__default['default'].createElement(react.Stack.Item, { className: callControlsContainerStyles },
|
@@ -19810,7 +19942,15 @@ const CallArrangement = (props) => {
|
|
19810
19942
|
onPeopleButtonClicked: togglePeoplePane })))),
|
19811
19943
|
React__default['default'].createElement(react.Stack, { horizontal: true, grow: true },
|
19812
19944
|
React__default['default'].createElement(react.Stack.Item, { grow: true, style: callCompositeContainerFlex() },
|
19813
|
-
React__default['default'].createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
|
19945
|
+
React__default['default'].createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
|
19946
|
+
React__default['default'].createElement(react.Stack, { verticalFill: true, styles: mediaGalleryContainerStyles$1 },
|
19947
|
+
React__default['default'].createElement(react.Stack.Item, { styles: notificationsContainerStyles },
|
19948
|
+
React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
19949
|
+
React__default['default'].createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
|
19950
|
+
errorBarProps !== false && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
19951
|
+
React__default['default'].createElement(ErrorBar, Object.assign({}, errorBarProps)))),
|
19952
|
+
canUnmute && !!props.mutedNotificationProps && (React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps)))),
|
19953
|
+
props.onRenderGalleryContent && props.onRenderGalleryContent()))),
|
19814
19954
|
/* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */
|
19815
19955
|
callPaneContent())))));
|
19816
19956
|
};
|
@@ -20556,103 +20696,6 @@ const devicePermissionSelector = reselect__namespace.createSelector([getDeviceMa
|
|
20556
20696
|
};
|
20557
20697
|
});
|
20558
20698
|
|
20559
|
-
// Copyright (c) Microsoft Corporation.
|
20560
|
-
/**
|
20561
|
-
* @private
|
20562
|
-
*/
|
20563
|
-
const localPreviewSelector = reselect__namespace.createSelector([getDeviceManager], (deviceManager) => {
|
20564
|
-
// TODO: we should take in a LocalVideoStream that developer wants to use as their 'Preview' view. We should also
|
20565
|
-
// handle cases where 'Preview' view is in progress and not necessary completed.
|
20566
|
-
const view = deviceManager.cameras.length > 0 && // This ensures that the video stream is reset if camera devices are removed.
|
20567
|
-
deviceManager.unparentedViews.length > 0 &&
|
20568
|
-
deviceManager.unparentedViews[0].view;
|
20569
|
-
return {
|
20570
|
-
videoStreamElement: view ? view.target : null
|
20571
|
-
};
|
20572
|
-
});
|
20573
|
-
|
20574
|
-
// Copyright (c) Microsoft Corporation.
|
20575
|
-
const localPreviewContainerStyle = {
|
20576
|
-
borderRadius: '.25rem'
|
20577
|
-
};
|
20578
|
-
/**
|
20579
|
-
* @private
|
20580
|
-
*/
|
20581
|
-
const localPreviewContainerStyleDesktop = react.mergeStyles(Object.assign(Object.assign({}, localPreviewContainerStyle), { width: '50%', minWidth: '11rem', maxWidth: '25rem', height: '18.75rem', padding: '0.5rem' }));
|
20582
|
-
/**
|
20583
|
-
* @private
|
20584
|
-
*/
|
20585
|
-
const localPreviewContainerStyleMobile = react.mergeStyles(Object.assign(Object.assign({}, localPreviewContainerStyle), { width: '100%', height: '100%' }));
|
20586
|
-
/**
|
20587
|
-
* @private
|
20588
|
-
*/
|
20589
|
-
const cameraOffLabelStyle = react.mergeStyles({
|
20590
|
-
fontSize: '0.75rem' // 12px
|
20591
|
-
});
|
20592
|
-
/**
|
20593
|
-
* @private
|
20594
|
-
*/
|
20595
|
-
const localPreviewTileStyle = {
|
20596
|
-
root: {
|
20597
|
-
borderRadius: '.25rem'
|
20598
|
-
}
|
20599
|
-
};
|
20600
|
-
|
20601
|
-
// Copyright (c) Microsoft Corporation.
|
20602
|
-
// Licensed under the MIT license.
|
20603
|
-
var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
20604
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
20605
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
20606
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
20607
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
20608
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
20609
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
20610
|
-
});
|
20611
|
-
};
|
20612
|
-
/**
|
20613
|
-
* @private
|
20614
|
-
*/
|
20615
|
-
const LocalPreview = (props) => {
|
20616
|
-
const locale = useLocale();
|
20617
|
-
const cameraButtonProps = usePropsFor$1(CameraButton);
|
20618
|
-
const localPreviewProps = useSelector$1(localPreviewSelector);
|
20619
|
-
const devicesButtonProps = usePropsFor$1(DevicesButton);
|
20620
|
-
const { audio: microphonePermissionGranted, video: cameraPermissionGranted } = useSelector$1(devicePermissionSelector);
|
20621
|
-
const isLocalMicrophoneEnabled = useSelector$1(getLocalMicrophoneEnabled);
|
20622
|
-
const adapter = useAdapter();
|
20623
|
-
const onToggleMic = React.useCallback(() => __awaiter$8(void 0, void 0, void 0, function* () {
|
20624
|
-
isLocalMicrophoneEnabled ? adapter.mute() : adapter.unmute();
|
20625
|
-
}), [adapter, isLocalMicrophoneEnabled]);
|
20626
|
-
const hasNoDevices = devicesButtonProps.cameras.length === 0 &&
|
20627
|
-
devicesButtonProps.microphones.length === 0 &&
|
20628
|
-
devicesButtonProps.speakers.length === 0;
|
20629
|
-
const hasCameras = devicesButtonProps.cameras.length > 0;
|
20630
|
-
const hasMicrophones = devicesButtonProps.microphones.length > 0;
|
20631
|
-
const theme = useTheme();
|
20632
|
-
const onRenderPlaceholder = React.useCallback(() => {
|
20633
|
-
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles({ width: '100%', height: '100%' }), verticalAlign: "center", tokens: { childrenGap: '0.25rem' } },
|
20634
|
-
React__default['default'].createElement(react.Stack.Item, { align: "center" },
|
20635
|
-
React__default['default'].createElement(CallCompositeIcon, { iconName: "LocalPreviewPlaceholder", className: react.mergeStyles(cameraOffLabelStyle, { color: theme.palette.neutralTertiary }) })),
|
20636
|
-
React__default['default'].createElement(react.Stack.Item, { align: "center" },
|
20637
|
-
React__default['default'].createElement(react.Text, { className: react.mergeStyles(cameraOffLabelStyle, { color: theme.palette.neutralSecondary }) }, locale.strings.call.cameraTurnedOff))));
|
20638
|
-
}, [theme, locale.strings.call.cameraTurnedOff]);
|
20639
|
-
const devicesButtonStyles = props.mobileView
|
20640
|
-
? {
|
20641
|
-
menuStyles: {
|
20642
|
-
menuItemStyles: buttonFlyoutIncreasedSizeStyles
|
20643
|
-
}
|
20644
|
-
}
|
20645
|
-
: undefined;
|
20646
|
-
return (React__default['default'].createElement(react.Stack, { "data-ui-id": "call-composite-local-preview", className: props.mobileView ? localPreviewContainerStyleMobile : localPreviewContainerStyleDesktop },
|
20647
|
-
React__default['default'].createElement(VideoTile, { styles: localPreviewTileStyle, renderElement: (localPreviewProps === null || localPreviewProps === void 0 ? void 0 : localPreviewProps.videoStreamElement) ? (React__default['default'].createElement(StreamMedia, { videoStreamElement: localPreviewProps.videoStreamElement })) : undefined, onRenderPlaceholder: onRenderPlaceholder },
|
20648
|
-
React__default['default'].createElement(ControlBar, { layout: "floatingBottom" },
|
20649
|
-
React__default['default'].createElement(MicrophoneButton, { "data-ui-id": "call-composite-local-device-settings-microphone-button", checked: isLocalMicrophoneEnabled, onToggleMicrophone: onToggleMic, disabled: !microphonePermissionGranted || !hasMicrophones, showLabel: true }),
|
20650
|
-
React__default['default'].createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-local-device-settings-camera-button" }, cameraButtonProps, { showLabel: true, disabled: !cameraPermissionGranted || !hasCameras })),
|
20651
|
-
props.showDevicesButton && (React__default['default'].createElement(DevicesButton, Object.assign({ "data-ui-id": "call-composite-local-device-settings-options-button" }, devicesButtonProps, {
|
20652
|
-
// disable button whilst all other buttons are disabled
|
20653
|
-
disabled: !microphonePermissionGranted || !cameraPermissionGranted || hasNoDevices, showLabel: true, styles: devicesButtonStyles })))))));
|
20654
|
-
};
|
20655
|
-
|
20656
20699
|
// Copyright (c) Microsoft Corporation.
|
20657
20700
|
/**
|
20658
20701
|
* @private
|
@@ -20750,6 +20793,123 @@ const startCallButtonStyleMobile = react.mergeStyles({
|
|
20750
20793
|
width: '100%',
|
20751
20794
|
maxWidth: 'unset'
|
20752
20795
|
});
|
20796
|
+
/**
|
20797
|
+
* @private
|
20798
|
+
*/
|
20799
|
+
const effectsButtonStyles = (theme) => {
|
20800
|
+
return {
|
20801
|
+
root: {
|
20802
|
+
background: 'transparent',
|
20803
|
+
border: 'none',
|
20804
|
+
color: theme.palette.blue,
|
20805
|
+
width: '40%',
|
20806
|
+
alignSelf: 'end',
|
20807
|
+
':hover, :focus': {
|
20808
|
+
color: theme.palette.blue
|
20809
|
+
}
|
20810
|
+
},
|
20811
|
+
rootChecked: {
|
20812
|
+
color: theme.palette.blue
|
20813
|
+
}
|
20814
|
+
};
|
20815
|
+
};
|
20816
|
+
|
20817
|
+
// Copyright (c) Microsoft Corporation.
|
20818
|
+
/**
|
20819
|
+
* @private
|
20820
|
+
*/
|
20821
|
+
const localPreviewSelector = reselect__namespace.createSelector([getDeviceManager], (deviceManager) => {
|
20822
|
+
// TODO: we should take in a LocalVideoStream that developer wants to use as their 'Preview' view. We should also
|
20823
|
+
// handle cases where 'Preview' view is in progress and not necessary completed.
|
20824
|
+
const view = deviceManager.cameras.length > 0 && // This ensures that the video stream is reset if camera devices are removed.
|
20825
|
+
deviceManager.unparentedViews.length > 0 &&
|
20826
|
+
deviceManager.unparentedViews[0].view;
|
20827
|
+
return {
|
20828
|
+
videoStreamElement: view ? view.target : null
|
20829
|
+
};
|
20830
|
+
});
|
20831
|
+
|
20832
|
+
// Copyright (c) Microsoft Corporation.
|
20833
|
+
const localPreviewContainerStyle = {
|
20834
|
+
borderRadius: '.25rem'
|
20835
|
+
};
|
20836
|
+
/**
|
20837
|
+
* @private
|
20838
|
+
*/
|
20839
|
+
const localPreviewContainerStyleDesktop = react.mergeStyles(Object.assign(Object.assign({}, localPreviewContainerStyle), { width: '50%', minWidth: '11rem', maxWidth: '25rem', height: '18.75rem', padding: '0.5rem' }));
|
20840
|
+
/**
|
20841
|
+
* @private
|
20842
|
+
*/
|
20843
|
+
const localPreviewContainerStyleMobile = react.mergeStyles(Object.assign(Object.assign({}, localPreviewContainerStyle), { width: '100%', height: '100%' }));
|
20844
|
+
/**
|
20845
|
+
* @private
|
20846
|
+
*/
|
20847
|
+
const cameraOffLabelStyle = react.mergeStyles({
|
20848
|
+
fontSize: '0.75rem' // 12px
|
20849
|
+
});
|
20850
|
+
/**
|
20851
|
+
* @private
|
20852
|
+
*/
|
20853
|
+
const localPreviewTileStyle = {
|
20854
|
+
root: {
|
20855
|
+
borderRadius: '.25rem'
|
20856
|
+
}
|
20857
|
+
};
|
20858
|
+
|
20859
|
+
// Copyright (c) Microsoft Corporation.
|
20860
|
+
// Licensed under the MIT license.
|
20861
|
+
var __awaiter$9 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
20862
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
20863
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
20864
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
20865
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
20866
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
20867
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
20868
|
+
});
|
20869
|
+
};
|
20870
|
+
/**
|
20871
|
+
* @private
|
20872
|
+
*/
|
20873
|
+
const LocalPreview = (props) => {
|
20874
|
+
const locale = useLocale();
|
20875
|
+
const cameraButtonProps = usePropsFor$1(CameraButton);
|
20876
|
+
const localPreviewProps = useSelector$1(localPreviewSelector);
|
20877
|
+
const devicesButtonProps = usePropsFor$1(DevicesButton);
|
20878
|
+
const { audio: microphonePermissionGranted, video: cameraPermissionGranted } = useSelector$1(devicePermissionSelector);
|
20879
|
+
const isLocalMicrophoneEnabled = useSelector$1(getLocalMicrophoneEnabled);
|
20880
|
+
const adapter = useAdapter();
|
20881
|
+
const onToggleMic = React.useCallback(() => __awaiter$9(void 0, void 0, void 0, function* () {
|
20882
|
+
isLocalMicrophoneEnabled ? adapter.mute() : adapter.unmute();
|
20883
|
+
}), [adapter, isLocalMicrophoneEnabled]);
|
20884
|
+
const hasNoDevices = devicesButtonProps.cameras.length === 0 &&
|
20885
|
+
devicesButtonProps.microphones.length === 0 &&
|
20886
|
+
devicesButtonProps.speakers.length === 0;
|
20887
|
+
const hasCameras = devicesButtonProps.cameras.length > 0;
|
20888
|
+
const hasMicrophones = devicesButtonProps.microphones.length > 0;
|
20889
|
+
const theme = useTheme();
|
20890
|
+
const onRenderPlaceholder = React.useCallback(() => {
|
20891
|
+
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles({ width: '100%', height: '100%' }), verticalAlign: "center", tokens: { childrenGap: '0.25rem' } },
|
20892
|
+
React__default['default'].createElement(react.Stack.Item, { align: "center" },
|
20893
|
+
React__default['default'].createElement(CallCompositeIcon, { iconName: "LocalPreviewPlaceholder", className: react.mergeStyles(cameraOffLabelStyle, { color: theme.palette.neutralTertiary }) })),
|
20894
|
+
React__default['default'].createElement(react.Stack.Item, { align: "center" },
|
20895
|
+
React__default['default'].createElement(react.Text, { className: react.mergeStyles(cameraOffLabelStyle, { color: theme.palette.neutralSecondary }) }, locale.strings.call.cameraTurnedOff))));
|
20896
|
+
}, [theme, locale.strings.call.cameraTurnedOff]);
|
20897
|
+
const devicesButtonStyles = props.mobileView
|
20898
|
+
? {
|
20899
|
+
menuStyles: {
|
20900
|
+
menuItemStyles: buttonFlyoutIncreasedSizeStyles
|
20901
|
+
}
|
20902
|
+
}
|
20903
|
+
: undefined;
|
20904
|
+
return (React__default['default'].createElement(react.Stack, { "data-ui-id": "call-composite-local-preview", className: props.mobileView ? localPreviewContainerStyleMobile : localPreviewContainerStyleDesktop },
|
20905
|
+
React__default['default'].createElement(VideoTile, { styles: localPreviewTileStyle, renderElement: (localPreviewProps === null || localPreviewProps === void 0 ? void 0 : localPreviewProps.videoStreamElement) ? (React__default['default'].createElement(StreamMedia, { videoStreamElement: localPreviewProps.videoStreamElement })) : undefined, onRenderPlaceholder: onRenderPlaceholder },
|
20906
|
+
React__default['default'].createElement(ControlBar, { layout: "floatingBottom" },
|
20907
|
+
React__default['default'].createElement(MicrophoneButton, { "data-ui-id": "call-composite-local-device-settings-microphone-button", checked: isLocalMicrophoneEnabled, onToggleMicrophone: onToggleMic, disabled: !microphonePermissionGranted || !hasMicrophones, showLabel: true }),
|
20908
|
+
React__default['default'].createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-local-device-settings-camera-button" }, cameraButtonProps, { showLabel: true, disabled: !cameraPermissionGranted || !hasCameras })),
|
20909
|
+
props.showDevicesButton && (React__default['default'].createElement(DevicesButton, Object.assign({ "data-ui-id": "call-composite-local-device-settings-options-button" }, devicesButtonProps, {
|
20910
|
+
// disable button whilst all other buttons are disabled
|
20911
|
+
disabled: !microphonePermissionGranted || !cameraPermissionGranted || hasNoDevices, showLabel: true, styles: devicesButtonStyles })))))));
|
20912
|
+
};
|
20753
20913
|
|
20754
20914
|
// Copyright (c) Microsoft Corporation.
|
20755
20915
|
/**
|
@@ -20971,6 +21131,71 @@ const CallReadinessModalFallBack = (props) => {
|
|
20971
21131
|
}
|
20972
21132
|
};
|
20973
21133
|
|
21134
|
+
var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
21135
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
21136
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
21137
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
21138
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
21139
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
21140
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
21141
|
+
});
|
21142
|
+
};
|
21143
|
+
/**
|
21144
|
+
* Pane that is used to show video effects button
|
21145
|
+
* @private
|
21146
|
+
*/
|
21147
|
+
/** @beta */
|
21148
|
+
const VideoEffectsPane = (props) => {
|
21149
|
+
const { showVideoEffectsOptions, setshowVideoEffectsOptions } = props;
|
21150
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21151
|
+
const locale = useLocale();
|
21152
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21153
|
+
const strings = locale.strings.call;
|
21154
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21155
|
+
const selectableVideoEffects = [
|
21156
|
+
{
|
21157
|
+
key: 'none',
|
21158
|
+
iconProps: {
|
21159
|
+
iconName: 'RemoveVideoBackgroundEffect'
|
21160
|
+
},
|
21161
|
+
title: strings.removeBackgroundEffectButtonLabel,
|
21162
|
+
tooltipProps: {
|
21163
|
+
content: strings.removeBackgroundTooltip
|
21164
|
+
}
|
21165
|
+
},
|
21166
|
+
{
|
21167
|
+
key: 'blur',
|
21168
|
+
iconProps: {
|
21169
|
+
iconName: 'BlurVideoBackground'
|
21170
|
+
},
|
21171
|
+
title: strings.blurBackgroundEffectButtonLabel,
|
21172
|
+
tooltipProps: {
|
21173
|
+
content: strings.blurBackgroundTooltip
|
21174
|
+
}
|
21175
|
+
}
|
21176
|
+
];
|
21177
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21178
|
+
const onEffectChange = React.useCallback((effectKey) => __awaiter$8(void 0, void 0, void 0, function* () {
|
21179
|
+
if (effectKey === 'blur') {
|
21180
|
+
props.adapter.blurVideoBackground();
|
21181
|
+
}
|
21182
|
+
else if (effectKey === 'none') {
|
21183
|
+
props.adapter.stopVideoBackgroundEffect();
|
21184
|
+
}
|
21185
|
+
}), [props.adapter]);
|
21186
|
+
return VideoEffectsPaneTrampoline(showVideoEffectsOptions, setshowVideoEffectsOptions,
|
21187
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21188
|
+
selectableVideoEffects,
|
21189
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21190
|
+
onEffectChange);
|
21191
|
+
};
|
21192
|
+
const VideoEffectsPaneTrampoline = (showVideoEffectsOptions, setshowVideoEffectsOptions, selectableVideoEffects, onEffectChange) => {
|
21193
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21194
|
+
const locale = useLocale();
|
21195
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21196
|
+
return (React__default['default'].createElement(react.Panel, { headerText: locale.strings.call.effects, isOpen: showVideoEffectsOptions, onDismiss: () => setshowVideoEffectsOptions(false), hasCloseButton: true, closeButtonAriaLabel: "Close", isLightDismiss: true }, selectableVideoEffects && (React__default['default'].createElement(_VideoBackgroundEffectsPicker, { options: selectableVideoEffects, onChange: onEffectChange }))));
|
21197
|
+
};
|
21198
|
+
|
20974
21199
|
// Copyright (c) Microsoft Corporation.
|
20975
21200
|
/**
|
20976
21201
|
* @private
|
@@ -20982,6 +21207,8 @@ const ConfigurationPage = (props) => {
|
|
20982
21207
|
/* @conditional-compile-remove(call-readiness) */ deviceChecks,
|
20983
21208
|
/* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,
|
20984
21209
|
/* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick } = props;
|
21210
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21211
|
+
const [showVideoEffectsPane, setVideoEffectsPane] = React.useState(false);
|
20985
21212
|
const options = useAdaptedSelector(getSelector$1(DevicesButton));
|
20986
21213
|
const localDeviceSettingsHandlers = useHandlers();
|
20987
21214
|
const { video: cameraPermissionGranted, audio: microphonePermissionGranted } = useSelector$1(devicePermissionSelector);
|
@@ -20994,6 +21221,8 @@ const ConfigurationPage = (props) => {
|
|
20994
21221
|
getDevicePermissionState(setVideoState, setAudioState);
|
20995
21222
|
let errorBarProps = usePropsFor$1(ErrorBar);
|
20996
21223
|
const adapter = useAdapter();
|
21224
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21225
|
+
const theme = react.useTheme();
|
20997
21226
|
const deviceState = adapter.getState().devices;
|
20998
21227
|
/* @conditional-compile-remove(unsupported-browser) */
|
20999
21228
|
const environmentInfo = adapter.getState().environmentInfo;
|
@@ -21108,6 +21337,10 @@ const ConfigurationPage = (props) => {
|
|
21108
21337
|
React__default['default'].createElement(react.Stack.Item, { styles: callDetailsContainerStylesDesktop },
|
21109
21338
|
title,
|
21110
21339
|
callDescription),
|
21340
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21341
|
+
React__default['default'].createElement(react.DefaultButton, { iconProps: { iconName: 'OptionsVideoBackgroundEffect' }, styles: effectsButtonStyles(theme), onClick: () => {
|
21342
|
+
setVideoEffectsPane(!showVideoEffectsPane);
|
21343
|
+
} }, locale.strings.call.effects),
|
21111
21344
|
React__default['default'].createElement(LocalDeviceSettings, Object.assign({}, options, localDeviceSettingsHandlers, { cameraPermissionGranted: cameraPermissionGrantedTrampoline(cameraPermissionGranted,
|
21112
21345
|
/* @conditional-compile-remove(call-readiness) */ videoState), microphonePermissionGranted: micPermissionGrantedTrampoline(microphonePermissionGranted,
|
21113
21346
|
/* @conditional-compile-remove(call-readiness) */ audioState),
|
@@ -21116,7 +21349,9 @@ const ConfigurationPage = (props) => {
|
|
21116
21349
|
setIsPermissionsModalDismissed(true);
|
21117
21350
|
} })))),
|
21118
21351
|
React__default['default'].createElement(react.Stack, { styles: mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop },
|
21119
|
-
React__default['default'].createElement(StartCallButton, { className: mobileWithPreview ? startCallButtonStyleMobile : undefined, onClick: startCallHandler, disabled: disableStartCallButton }))))
|
21352
|
+
React__default['default'].createElement(StartCallButton, { className: mobileWithPreview ? startCallButtonStyleMobile : undefined, onClick: startCallHandler, disabled: disableStartCallButton })))),
|
21353
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21354
|
+
React__default['default'].createElement(VideoEffectsPane, { showVideoEffectsOptions: showVideoEffectsPane, setshowVideoEffectsOptions: setVideoEffectsPane, adapter: adapter })));
|
21120
21355
|
};
|
21121
21356
|
const localPreviewTrampoline = (mobileView, doNotShow) => {
|
21122
21357
|
/* @conditional-compile-remove(rooms) */
|
@@ -23242,7 +23477,8 @@ const callCompositeContainerStyles = {
|
|
23242
23477
|
// Start a new stacking context so that any `position:absolute` elements
|
23243
23478
|
// inside the call composite do not compete with its siblings.
|
23244
23479
|
position: 'relative',
|
23245
|
-
width: '100%'
|
23480
|
+
width: '100%',
|
23481
|
+
minWidth: 0
|
23246
23482
|
}
|
23247
23483
|
};
|
23248
23484
|
/** @private */
|
@@ -23766,20 +24002,6 @@ const CallWithChatPane = (props) => {
|
|
23766
24002
|
React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems })))));
|
23767
24003
|
};
|
23768
24004
|
|
23769
|
-
// Copyright (c) Microsoft Corporation.
|
23770
|
-
/**
|
23771
|
-
* Pane that is used to show video effects button
|
23772
|
-
* @private
|
23773
|
-
*/
|
23774
|
-
/** @beta */
|
23775
|
-
const VideoEffectsPane = (props) => {
|
23776
|
-
return VideoEffectsPaneTrampoline(props.showVideoEffectsOptions, props.setshowVideoEffectsOptions);
|
23777
|
-
};
|
23778
|
-
const VideoEffectsPaneTrampoline = (showVideoEffectsOptions, setshowVideoEffectsOptions) => {
|
23779
|
-
/* @conditional-compile-remove(video-background-effects) */
|
23780
|
-
return (React__default['default'].createElement(react.Panel, { headerText: "Effects", isOpen: showVideoEffectsOptions, onDismiss: () => setshowVideoEffectsOptions(false), hasCloseButton: true, closeButtonAriaLabel: "Close", isLightDismiss: true }));
|
23781
|
-
};
|
23782
|
-
|
23783
24005
|
// Copyright (c) Microsoft Corporation.
|
23784
24006
|
const CallWithChatScreen = (props) => {
|
23785
24007
|
const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;
|
@@ -23935,7 +24157,7 @@ const CallWithChatScreen = (props) => {
|
|
23935
24157
|
style: callCompositeContainerCSS },
|
23936
24158
|
React__default['default'].createElement(CallComposite, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme }))),
|
23937
24159
|
/* @conditional-compile-remove(video-background-effects) */
|
23938
|
-
React__default['default'].createElement(VideoEffectsPane, { showVideoEffectsOptions: showVideoEffectsPane, setshowVideoEffectsOptions: setShowVideoEffectsPane }),
|
24160
|
+
React__default['default'].createElement(VideoEffectsPane, { showVideoEffectsOptions: showVideoEffectsPane, setshowVideoEffectsOptions: setShowVideoEffectsPane, adapter: callAdapter }),
|
23939
24161
|
chatProps.adapter && callAdapter && hasJoinedCall && (React__default['default'].createElement(CallWithChatPane, { chatCompositeProps: chatProps, inviteLink: props.joinInvitationURL, onClose: closePane, chatAdapter: chatProps.adapter, callAdapter: callAdapter, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, onChatButtonClicked: showShowChatTabHeaderButton(props.callControls) ? selectChat : undefined, onPeopleButtonClicked: showShowPeopleTabHeaderButton(props.callControls) ? selectPeople : undefined, modalLayerHostId: modalLayerHostId, mobileView: mobileView, activePane: activePane,
|
23940
24162
|
/* @conditional-compile-remove(file-sharing) */
|
23941
24163
|
fileSharing: props.fileSharing, rtl: props.rtl, callControls: typeof props.callControls !== 'boolean' ? props.callControls : undefined }))),
|