@azure/communication-react 1.12.1-alpha-202401230013 → 1.12.1-alpha-202401240013

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.
Files changed (38) hide show
  1. package/dist/communication-react.d.ts +29 -0
  2. package/dist/dist-cjs/communication-react/index.js +448 -249
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  7. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +20 -0
  8. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  9. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
  10. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +5 -1
  11. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  12. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +38 -10
  13. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  14. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.d.ts +26 -0
  15. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +59 -0
  16. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -0
  17. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.d.ts +8 -0
  18. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js +18 -0
  19. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -0
  20. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.d.ts +17 -0
  21. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +30 -0
  22. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -0
  23. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -0
  24. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +22 -1
  25. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  26. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
  27. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +31 -4
  28. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.d.ts +18 -0
  30. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +41 -0
  31. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -0
  32. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -0
  33. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -1
  34. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  35. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +6 -0
  36. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  37. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +5 -0
  38. package/package.json +1 -1
@@ -170,7 +170,7 @@ function getDefaultExportFromCjs (x) {
170
170
  // Copyright (c) Microsoft Corporation.
171
171
  // Licensed under the MIT License.
172
172
  // GENERATED FILE. DO NOT EDIT MANUALLY.
173
- var telemetryVersion = '1.12.1-alpha-202401230013';
173
+ var telemetryVersion = '1.12.1-alpha-202401240013';
174
174
 
175
175
 
176
176
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -522,7 +522,7 @@ const getSupportedSpokenLanguages = (state, props) => {
522
522
 
523
523
  // Copyright (c) Microsoft Corporation.
524
524
  // Licensed under the MIT License.
525
- var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
525
+ var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
526
526
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
527
527
  return new (P || (P = Promise))(function (resolve, reject) {
528
528
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -561,7 +561,7 @@ const _isPreviewOn = (deviceManager) => {
561
561
  *
562
562
  * @private
563
563
  */
564
- const disposeAllLocalPreviewViews = (callClient) => __awaiter$N(void 0, void 0, void 0, function* () {
564
+ const disposeAllLocalPreviewViews = (callClient) => __awaiter$O(void 0, void 0, void 0, function* () {
565
565
  const unparentedViews = callClient.getState().deviceManager.unparentedViews;
566
566
  for (const view of unparentedViews) {
567
567
  yield callClient.disposeView(undefined, undefined, view);
@@ -769,7 +769,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
769
769
 
770
770
  // Copyright (c) Microsoft Corporation.
771
771
  // Licensed under the MIT License.
772
- var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
772
+ var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
773
773
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
774
774
  return new (P || (P = Promise))(function (resolve, reject) {
775
775
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -790,7 +790,7 @@ const areStreamsEqual = (prevStream, newStream) => {
790
790
  * @private
791
791
  */
792
792
  const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager, call, options) => {
793
- const onStartLocalVideo = () => __awaiter$M(void 0, void 0, void 0, function* () {
793
+ const onStartLocalVideo = () => __awaiter$N(void 0, void 0, void 0, function* () {
794
794
  // Before the call object creates a stream, dispose of any local preview streams.
795
795
  // @TODO: is there any way to parent the unparented view to the call object instead
796
796
  // of disposing and creating a new stream?
@@ -810,7 +810,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
810
810
  yield call.startVideo(stream);
811
811
  }
812
812
  });
813
- const onStopLocalVideo = (stream) => __awaiter$M(void 0, void 0, void 0, function* () {
813
+ const onStopLocalVideo = (stream) => __awaiter$N(void 0, void 0, void 0, function* () {
814
814
  const callId = call === null || call === void 0 ? void 0 : call.id;
815
815
  if (!callId) {
816
816
  return;
@@ -819,7 +819,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
819
819
  yield call.stopVideo(stream);
820
820
  }
821
821
  });
822
- const onToggleCamera = (options) => __awaiter$M(void 0, void 0, void 0, function* () {
822
+ const onToggleCamera = (options) => __awaiter$N(void 0, void 0, void 0, function* () {
823
823
  const previewOn = _isPreviewOn(callClient.getState().deviceManager);
824
824
  // the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
825
825
  // The root cause of the issue is caused by never transitioning the unparented view to the
@@ -876,19 +876,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
876
876
  }
877
877
  }
878
878
  });
879
- const onSelectMicrophone = (device) => __awaiter$M(void 0, void 0, void 0, function* () {
879
+ const onSelectMicrophone = (device) => __awaiter$N(void 0, void 0, void 0, function* () {
880
880
  if (!deviceManager) {
881
881
  return;
882
882
  }
883
883
  return deviceManager.selectMicrophone(device);
884
884
  });
885
- const onSelectSpeaker = (device) => __awaiter$M(void 0, void 0, void 0, function* () {
885
+ const onSelectSpeaker = (device) => __awaiter$N(void 0, void 0, void 0, function* () {
886
886
  if (!deviceManager) {
887
887
  return;
888
888
  }
889
889
  return deviceManager.selectSpeaker(device);
890
890
  });
891
- const onSelectCamera = (device, options) => __awaiter$M(void 0, void 0, void 0, function* () {
891
+ const onSelectCamera = (device, options) => __awaiter$N(void 0, void 0, void 0, function* () {
892
892
  if (!deviceManager) {
893
893
  return;
894
894
  }
@@ -919,11 +919,11 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
919
919
  }
920
920
  });
921
921
  /* @conditional-compile-remove(raise-hand) */
922
- const onRaiseHand = () => __awaiter$M(void 0, void 0, void 0, function* () { var _a; return yield ((_a = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _a === void 0 ? void 0 : _a.raiseHand()); });
922
+ const onRaiseHand = () => __awaiter$N(void 0, void 0, void 0, function* () { var _a; return yield ((_a = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _a === void 0 ? void 0 : _a.raiseHand()); });
923
923
  /* @conditional-compile-remove(raise-hand) */
924
- const onLowerHand = () => __awaiter$M(void 0, void 0, void 0, function* () { var _b; return yield ((_b = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _b === void 0 ? void 0 : _b.lowerHand()); });
924
+ const onLowerHand = () => __awaiter$N(void 0, void 0, void 0, function* () { var _b; return yield ((_b = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _b === void 0 ? void 0 : _b.lowerHand()); });
925
925
  /* @conditional-compile-remove(raise-hand) */
926
- const onToggleRaiseHand = () => __awaiter$M(void 0, void 0, void 0, function* () {
926
+ const onToggleRaiseHand = () => __awaiter$N(void 0, void 0, void 0, function* () {
927
927
  const raiseHandFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand);
928
928
  const localUserId = callClient.getState().userId;
929
929
  const isLocalRaisedHand = raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.getRaisedHands().find((publishedState) => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));
@@ -935,7 +935,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
935
935
  }
936
936
  });
937
937
  /* @conditional-compile-remove(reaction) */
938
- const onReactionClicked = (reaction) => __awaiter$M(void 0, void 0, void 0, function* () {
938
+ const onReactionClicked = (reaction) => __awaiter$N(void 0, void 0, void 0, function* () {
939
939
  var _c;
940
940
  if (reaction === 'like' ||
941
941
  reaction === 'applause' ||
@@ -949,19 +949,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
949
949
  }
950
950
  return;
951
951
  });
952
- const onToggleMicrophone = () => __awaiter$M(void 0, void 0, void 0, function* () {
952
+ const onToggleMicrophone = () => __awaiter$N(void 0, void 0, void 0, function* () {
953
953
  if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
954
954
  throw new Error(`Please invoke onToggleMicrophone after call is started`);
955
955
  }
956
956
  return call.isMuted ? yield call.unmute() : yield call.mute();
957
957
  });
958
- const onStartScreenShare = () => __awaiter$M(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
959
- const onStopScreenShare = () => __awaiter$M(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
960
- const onToggleScreenShare = () => __awaiter$M(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
961
- const onHangUp = (forEveryone) => __awaiter$M(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
958
+ const onStartScreenShare = () => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
959
+ const onStopScreenShare = () => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
960
+ const onToggleScreenShare = () => __awaiter$N(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
961
+ const onHangUp = (forEveryone) => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
962
962
  /* @conditional-compile-remove(PSTN-calls) */
963
- const onToggleHold = () => __awaiter$M(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()); });
964
- const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$M(void 0, void 0, void 0, function* () {
963
+ const onToggleHold = () => __awaiter$N(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.state) === 'LocalHold' ? yield (call === null || call === void 0 ? void 0 : call.resume()) : yield (call === null || call === void 0 ? void 0 : call.hold()); });
964
+ const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$N(void 0, void 0, void 0, function* () {
965
965
  var _d;
966
966
  if (!call || call.localVideoStreams.length === 0) {
967
967
  return;
@@ -977,7 +977,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
977
977
  const { view } = (_d = (yield callClient.createView(call.id, undefined, localStream, options))) !== null && _d !== void 0 ? _d : {};
978
978
  return view ? { view } : undefined;
979
979
  });
980
- const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$M(void 0, void 0, void 0, function* () {
980
+ const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$N(void 0, void 0, void 0, function* () {
981
981
  if (!call) {
982
982
  return;
983
983
  }
@@ -1008,7 +1008,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1008
1008
  }
1009
1009
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
1010
1010
  });
1011
- const onDisposeRemoteStreamView = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1011
+ const onDisposeRemoteStreamView = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
1012
1012
  if (!call) {
1013
1013
  return;
1014
1014
  }
@@ -1029,7 +1029,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1029
1029
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
1030
1030
  }
1031
1031
  });
1032
- const onDisposeRemoteVideoStreamView = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1032
+ const onDisposeRemoteVideoStreamView = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
1033
1033
  if (!call) {
1034
1034
  return;
1035
1035
  }
@@ -1046,7 +1046,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1046
1046
  callClient.disposeView(call.id, participant.identifier, remoteVideoStream);
1047
1047
  }
1048
1048
  });
1049
- const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1049
+ const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
1050
1050
  if (!call) {
1051
1051
  return;
1052
1052
  }
@@ -1063,7 +1063,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1063
1063
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
1064
1064
  }
1065
1065
  });
1066
- const onDisposeLocalStreamView = () => __awaiter$M(void 0, void 0, void 0, function* () {
1066
+ const onDisposeLocalStreamView = () => __awaiter$N(void 0, void 0, void 0, function* () {
1067
1067
  // If the user is currently in a call, dispose of the local stream view attached to that call.
1068
1068
  const callState = call && callClient.getState().calls[call.id];
1069
1069
  const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
@@ -1076,18 +1076,18 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1076
1076
  yield disposeAllLocalPreviewViews(callClient);
1077
1077
  });
1078
1078
  /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
1079
- const onSendDtmfTone = (dtmfTone) => __awaiter$M(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
1079
+ const onSendDtmfTone = (dtmfTone) => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
1080
1080
  const notImplemented = () => {
1081
1081
  throw new Error('Not implemented, cannot call a method from an abstract object');
1082
1082
  };
1083
1083
  /* @conditional-compile-remove(call-readiness) */
1084
- const askDevicePermission = (constrain) => __awaiter$M(void 0, void 0, void 0, function* () {
1084
+ const askDevicePermission = (constrain) => __awaiter$N(void 0, void 0, void 0, function* () {
1085
1085
  if (deviceManager) {
1086
1086
  yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
1087
1087
  }
1088
1088
  });
1089
1089
  /* @conditional-compile-remove(video-background-effects) */
1090
- const onRemoveVideoBackgroundEffects = () => __awaiter$M(void 0, void 0, void 0, function* () {
1090
+ const onRemoveVideoBackgroundEffects = () => __awaiter$N(void 0, void 0, void 0, function* () {
1091
1091
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
1092
1092
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
1093
1093
  if (stream) {
@@ -1100,7 +1100,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1100
1100
  }
1101
1101
  });
1102
1102
  /* @conditional-compile-remove(video-background-effects) */
1103
- const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$M(void 0, void 0, void 0, function* () {
1103
+ const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$N(void 0, void 0, void 0, function* () {
1104
1104
  var _e;
1105
1105
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
1106
1106
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -1114,7 +1114,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1114
1114
  }
1115
1115
  });
1116
1116
  /* @conditional-compile-remove(video-background-effects) */
1117
- const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$M(void 0, void 0, void 0, function* () {
1117
+ const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$N(void 0, void 0, void 0, function* () {
1118
1118
  var _f;
1119
1119
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
1120
1120
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -1128,34 +1128,34 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1128
1128
  }
1129
1129
  });
1130
1130
  /* @conditional-compile-remove(close-captions) */
1131
- const onStartCaptions = (options) => __awaiter$M(void 0, void 0, void 0, function* () {
1131
+ const onStartCaptions = (options) => __awaiter$N(void 0, void 0, void 0, function* () {
1132
1132
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1133
1133
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.startCaptions(options));
1134
1134
  });
1135
1135
  /* @conditional-compile-remove(close-captions) */
1136
- const onStopCaptions = () => __awaiter$M(void 0, void 0, void 0, function* () {
1136
+ const onStopCaptions = () => __awaiter$N(void 0, void 0, void 0, function* () {
1137
1137
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1138
1138
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.stopCaptions());
1139
1139
  });
1140
1140
  /* @conditional-compile-remove(close-captions) */
1141
- const onSetSpokenLanguage = (language) => __awaiter$M(void 0, void 0, void 0, function* () {
1141
+ const onSetSpokenLanguage = (language) => __awaiter$N(void 0, void 0, void 0, function* () {
1142
1142
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1143
1143
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.setSpokenLanguage(language));
1144
1144
  });
1145
1145
  /* @conditional-compile-remove(close-captions) */
1146
- const onSetCaptionLanguage = (language) => __awaiter$M(void 0, void 0, void 0, function* () {
1146
+ const onSetCaptionLanguage = (language) => __awaiter$N(void 0, void 0, void 0, function* () {
1147
1147
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1148
1148
  yield captionsFeature.setCaptionLanguage(language);
1149
1149
  });
1150
1150
  /* @conditional-compile-remove(end-of-call-survey) */
1151
- const onSubmitSurvey = (survey) => __awaiter$M(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
1151
+ const onSubmitSurvey = (survey) => __awaiter$N(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
1152
1152
  /* @conditional-compile-remove(spotlight) */
1153
- const onStartSpotlight = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1153
+ const onStartSpotlight = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
1154
1154
  const participant = _toCommunicationIdentifier(userId);
1155
1155
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight([participant]));
1156
1156
  });
1157
1157
  /* @conditional-compile-remove(spotlight) */
1158
- const onStopSpotlight = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1158
+ const onStopSpotlight = (userId) => __awaiter$N(void 0, void 0, void 0, function* () {
1159
1159
  const participant = _toCommunicationIdentifier(userId);
1160
1160
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight([participant]));
1161
1161
  });
@@ -1218,7 +1218,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1218
1218
 
1219
1219
  // Copyright (c) Microsoft Corporation.
1220
1220
  // Licensed under the MIT License.
1221
- var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1221
+ var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1222
1222
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1223
1223
  return new (P || (P = Promise))(function (resolve, reject) {
1224
1224
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1246,7 +1246,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1246
1246
  return callAgent === null || callAgent === void 0 ? void 0 : callAgent.startCall(participants, options);
1247
1247
  },
1248
1248
  /* @conditional-compile-remove(PSTN-calls) */
1249
- onAddParticipant: (userId, options) => __awaiter$L(void 0, void 0, void 0, function* () {
1249
+ onAddParticipant: (userId, options) => __awaiter$M(void 0, void 0, void 0, function* () {
1250
1250
  const participant = _toCommunicationIdentifier(userId);
1251
1251
  if (communicationCommon.isPhoneNumberIdentifier(participant)) {
1252
1252
  call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
@@ -1254,7 +1254,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1254
1254
  else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
1255
1255
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
1256
1256
  }
1257
- }), onRemoveParticipant: (userId) => __awaiter$L(void 0, void 0, void 0, function* () {
1257
+ }), onRemoveParticipant: (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1258
1258
  const participant = _toCommunicationIdentifier(userId);
1259
1259
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
1260
1260
  }) });
@@ -1262,7 +1262,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1262
1262
 
1263
1263
  // Copyright (c) Microsoft Corporation.
1264
1264
  // Licensed under the MIT License.
1265
- var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1265
+ var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1266
1266
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1267
1267
  return new (P || (P = Promise))(function (resolve, reject) {
1268
1268
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1294,7 +1294,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1294
1294
  },
1295
1295
  /* @conditional-compile-remove(teams-identity-support) */
1296
1296
  /* @conditional-compile-remove(PSTN-calls) */
1297
- onAddParticipant: (userId, options) => __awaiter$K(void 0, void 0, void 0, function* () {
1297
+ onAddParticipant: (userId, options) => __awaiter$L(void 0, void 0, void 0, function* () {
1298
1298
  const participant = _toCommunicationIdentifier(userId);
1299
1299
  /* @conditional-compile-remove(teams-identity-support) */
1300
1300
  const threadId = options === null || options === void 0 ? void 0 : options.threadId;
@@ -1310,7 +1310,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1310
1310
  }
1311
1311
  /* @conditional-compile-remove(teams-identity-support) */
1312
1312
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
1313
- }), onRemoveParticipant: (userId) => __awaiter$K(void 0, void 0, void 0, function* () {
1313
+ }), onRemoveParticipant: (userId) => __awaiter$L(void 0, void 0, void 0, function* () {
1314
1314
  const participant = _toCommunicationIdentifier(userId);
1315
1315
  if (communicationCommon.isCommunicationUserIdentifier(participant)) {
1316
1316
  throw new Error('CommunicationIdentifier in Teams call is not supported!');
@@ -1401,7 +1401,7 @@ const getCaptionsSpeakerIdentifier = (captions) => {
1401
1401
 
1402
1402
  // Copyright (c) Microsoft Corporation.
1403
1403
  // Licensed under the MIT License.
1404
- var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1404
+ var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1405
1405
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1406
1406
  return new (P || (P = Promise))(function (resolve, reject) {
1407
1407
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1450,13 +1450,13 @@ class ProxyDeviceManager {
1450
1450
  this.selectCamera = (videoDeviceInfo) => {
1451
1451
  this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
1452
1452
  };
1453
- this.videoDevicesUpdated = () => __awaiter$J(this, void 0, void 0, function* () {
1453
+ this.videoDevicesUpdated = () => __awaiter$K(this, void 0, void 0, function* () {
1454
1454
  // Device Manager always has a camera with '' name if there are no real camera devices available.
1455
1455
  // We don't want to show that in the UI.
1456
1456
  const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
1457
1457
  this._context.setDeviceManagerCameras(dedupeById(realCameras));
1458
1458
  });
1459
- this.audioDevicesUpdated = () => __awaiter$J(this, void 0, void 0, function* () {
1459
+ this.audioDevicesUpdated = () => __awaiter$K(this, void 0, void 0, function* () {
1460
1460
  this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
1461
1461
  this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
1462
1462
  });
@@ -1857,7 +1857,7 @@ function convertFromSDKToRaisedHandState(raisedHand) {
1857
1857
 
1858
1858
  // Copyright (c) Microsoft Corporation.
1859
1859
  // Licensed under the MIT License.
1860
- var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1860
+ var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1861
1861
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1862
1862
  return new (P || (P = Promise))(function (resolve, reject) {
1863
1863
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2676,7 +2676,7 @@ let CallContext$2 = class CallContext {
2676
2676
  * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
2677
2677
  */
2678
2678
  withAsyncErrorTeedToState(action, target) {
2679
- return (...args) => __awaiter$I(this, void 0, void 0, function* () {
2679
+ return (...args) => __awaiter$J(this, void 0, void 0, function* () {
2680
2680
  try {
2681
2681
  return yield action(...args);
2682
2682
  }
@@ -3130,7 +3130,7 @@ function _logStreamEvent(eventName, streamLogInfo, error) {
3130
3130
 
3131
3131
  // Copyright (c) Microsoft Corporation.
3132
3132
  // Licensed under the MIT License.
3133
- var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
3133
+ var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
3134
3134
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3135
3135
  return new (P || (P = Promise))(function (resolve, reject) {
3136
3136
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -3140,7 +3140,7 @@ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments,
3140
3140
  });
3141
3141
  };
3142
3142
  function createViewVideo(context, internalContext, callId, stream, participantId, options) {
3143
- return __awaiter$H(this, void 0, void 0, function* () {
3143
+ return __awaiter$I(this, void 0, void 0, function* () {
3144
3144
  // we can only have 3 types of createView
3145
3145
  let streamEventType;
3146
3146
  // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.
@@ -3269,7 +3269,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
3269
3269
  });
3270
3270
  }
3271
3271
  function createViewUnparentedVideo(context, internalContext, stream, options) {
3272
- return __awaiter$H(this, void 0, void 0, function* () {
3272
+ return __awaiter$I(this, void 0, void 0, function* () {
3273
3273
  const renderInfo = internalContext.getUnparentedRenderInfo(stream);
3274
3274
  if (renderInfo && renderInfo.status === 'Rendered') {
3275
3275
  console.warn('Unparented LocalVideoStream is already rendered');
@@ -3438,7 +3438,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
3438
3438
  // Render LocalVideoStream that is not part of a Call
3439
3439
  // Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).
3440
3440
  // We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
3441
- return context.withAsyncErrorTeedToState(() => __awaiter$H(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
3441
+ return context.withAsyncErrorTeedToState(() => __awaiter$I(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
3442
3442
  }
3443
3443
  else {
3444
3444
  _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
@@ -4048,7 +4048,7 @@ class CallSubscriber {
4048
4048
 
4049
4049
  // Copyright (c) Microsoft Corporation.
4050
4050
  // Licensed under the MIT License.
4051
- var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4051
+ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4052
4052
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4053
4053
  return new (P || (P = Promise))(function (resolve, reject) {
4054
4054
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4068,14 +4068,14 @@ class ProxyIncomingCall {
4068
4068
  switch (prop) {
4069
4069
  case 'accept': {
4070
4070
  return this._context.withAsyncErrorTeedToState(function (...args) {
4071
- return __awaiter$G(this, void 0, void 0, function* () {
4071
+ return __awaiter$H(this, void 0, void 0, function* () {
4072
4072
  return yield target.accept(...args);
4073
4073
  });
4074
4074
  }, 'IncomingCall.accept');
4075
4075
  }
4076
4076
  case 'reject': {
4077
4077
  return this._context.withAsyncErrorTeedToState(function (...args) {
4078
- return __awaiter$G(this, void 0, void 0, function* () {
4078
+ return __awaiter$H(this, void 0, void 0, function* () {
4079
4079
  return yield target.reject(...args);
4080
4080
  });
4081
4081
  }, 'IncomingCall.reject');
@@ -4316,7 +4316,7 @@ const clearCallRelatedState = (context, internalContext) => {
4316
4316
 
4317
4317
  // Copyright (c) Microsoft Corporation.
4318
4318
  // Licensed under the MIT License.
4319
- var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4319
+ var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4320
4320
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4321
4321
  return new (P || (P = Promise))(function (resolve, reject) {
4322
4322
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4342,56 +4342,56 @@ class ProxyCallCommon {
4342
4342
  switch (prop) {
4343
4343
  case 'mute': {
4344
4344
  return this._context.withAsyncErrorTeedToState(function (...args) {
4345
- return __awaiter$F(this, void 0, void 0, function* () {
4345
+ return __awaiter$G(this, void 0, void 0, function* () {
4346
4346
  return yield target.mute(...args);
4347
4347
  });
4348
4348
  }, 'Call.mute');
4349
4349
  }
4350
4350
  case 'unmute': {
4351
4351
  return this._context.withAsyncErrorTeedToState(function (...args) {
4352
- return __awaiter$F(this, void 0, void 0, function* () {
4352
+ return __awaiter$G(this, void 0, void 0, function* () {
4353
4353
  return yield target.unmute(...args);
4354
4354
  });
4355
4355
  }, 'Call.unmute');
4356
4356
  }
4357
4357
  case 'startVideo': {
4358
4358
  return this._context.withAsyncErrorTeedToState(function (...args) {
4359
- return __awaiter$F(this, void 0, void 0, function* () {
4359
+ return __awaiter$G(this, void 0, void 0, function* () {
4360
4360
  return yield target.startVideo(...args);
4361
4361
  });
4362
4362
  }, 'Call.startVideo');
4363
4363
  }
4364
4364
  case 'stopVideo': {
4365
4365
  return this._context.withAsyncErrorTeedToState(function (...args) {
4366
- return __awaiter$F(this, void 0, void 0, function* () {
4366
+ return __awaiter$G(this, void 0, void 0, function* () {
4367
4367
  return yield target.stopVideo(...args);
4368
4368
  });
4369
4369
  }, 'Call.stopVideo');
4370
4370
  }
4371
4371
  case 'startScreenSharing': {
4372
4372
  return this._context.withAsyncErrorTeedToState(function (...args) {
4373
- return __awaiter$F(this, void 0, void 0, function* () {
4373
+ return __awaiter$G(this, void 0, void 0, function* () {
4374
4374
  return yield target.startScreenSharing(...args);
4375
4375
  });
4376
4376
  }, 'Call.startScreenSharing');
4377
4377
  }
4378
4378
  case 'stopScreenSharing': {
4379
4379
  return this._context.withAsyncErrorTeedToState(function (...args) {
4380
- return __awaiter$F(this, void 0, void 0, function* () {
4380
+ return __awaiter$G(this, void 0, void 0, function* () {
4381
4381
  return yield target.stopScreenSharing(...args);
4382
4382
  });
4383
4383
  }, 'Call.stopScreenSharing');
4384
4384
  }
4385
4385
  case 'hold': {
4386
4386
  return this._context.withAsyncErrorTeedToState(function (...args) {
4387
- return __awaiter$F(this, void 0, void 0, function* () {
4387
+ return __awaiter$G(this, void 0, void 0, function* () {
4388
4388
  return yield target.hold(...args);
4389
4389
  });
4390
4390
  }, 'Call.hold');
4391
4391
  }
4392
4392
  case 'resume': {
4393
4393
  return this._context.withAsyncErrorTeedToState(function (...args) {
4394
- return __awaiter$F(this, void 0, void 0, function* () {
4394
+ return __awaiter$G(this, void 0, void 0, function* () {
4395
4395
  return yield target.resume(...args);
4396
4396
  });
4397
4397
  }, 'Call.resume');
@@ -4431,7 +4431,7 @@ class ProxyTeamsCaptions {
4431
4431
  get(target, prop) {
4432
4432
  switch (prop) {
4433
4433
  case 'startCaptions':
4434
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$F(this, void 0, void 0, function* () {
4434
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
4435
4435
  var _a, _b;
4436
4436
  this._context.setStartCaptionsInProgress(this._call.id, true);
4437
4437
  const ret = yield target.startCaptions(...args);
@@ -4439,7 +4439,7 @@ class ProxyTeamsCaptions {
4439
4439
  return ret;
4440
4440
  }), 'Call.feature');
4441
4441
  case 'stopCaptions':
4442
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$F(this, void 0, void 0, function* () {
4442
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
4443
4443
  const ret = yield target.stopCaptions(...args);
4444
4444
  this._context.setIsCaptionActive(this._call.id, false);
4445
4445
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -4447,13 +4447,13 @@ class ProxyTeamsCaptions {
4447
4447
  return ret;
4448
4448
  }), 'Call.feature');
4449
4449
  case 'setSpokenLanguage':
4450
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$F(this, void 0, void 0, function* () {
4450
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
4451
4451
  const ret = yield target.setSpokenLanguage(...args);
4452
4452
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
4453
4453
  return ret;
4454
4454
  }), 'Call.feature');
4455
4455
  case 'setCaptionLanguage':
4456
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$F(this, void 0, void 0, function* () {
4456
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$G(this, void 0, void 0, function* () {
4457
4457
  const ret = yield target.setCaptionLanguage(...args);
4458
4458
  this._context.setSelectedCaptionLanguage(this._call.id, args[0]);
4459
4459
  return ret;
@@ -4501,7 +4501,7 @@ class ProxyTransferCallFeature {
4501
4501
 
4502
4502
  // Copyright (c) Microsoft Corporation.
4503
4503
  // Licensed under the MIT License.
4504
- var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4504
+ var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4505
4505
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4506
4506
  return new (P || (P = Promise))(function (resolve, reject) {
4507
4507
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4515,7 +4515,7 @@ class ProxyCall extends ProxyCallCommon {
4515
4515
  switch (prop) {
4516
4516
  case 'addParticipant': {
4517
4517
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
4518
- return __awaiter$E(this, void 0, void 0, function* () {
4518
+ return __awaiter$F(this, void 0, void 0, function* () {
4519
4519
  return yield target.addParticipant(...args);
4520
4520
  });
4521
4521
  }, 'Call.addParticipant');
@@ -4753,7 +4753,7 @@ class InternalCallContext {
4753
4753
 
4754
4754
  // Copyright (c) Microsoft Corporation.
4755
4755
  // Licensed under the MIT License.
4756
- var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4756
+ var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4757
4757
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4758
4758
  return new (P || (P = Promise))(function (resolve, reject) {
4759
4759
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4768,7 +4768,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
4768
4768
  switch (prop) {
4769
4769
  case 'addParticipant': {
4770
4770
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
4771
- return __awaiter$D(this, void 0, void 0, function* () {
4771
+ return __awaiter$E(this, void 0, void 0, function* () {
4772
4772
  return yield target.addParticipant(...args);
4773
4773
  });
4774
4774
  }, 'TeamsCall.addParticipant');
@@ -4885,7 +4885,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
4885
4885
 
4886
4886
  // Copyright (c) Microsoft Corporation.
4887
4887
  // Licensed under the MIT License.
4888
- var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4888
+ var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4889
4889
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4890
4890
  return new (P || (P = Promise))(function (resolve, reject) {
4891
4891
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4907,7 +4907,7 @@ class ProxyVideoStreamRendererView {
4907
4907
  get(target, prop) {
4908
4908
  switch (prop) {
4909
4909
  case 'updateScalingMode': {
4910
- return (...args) => __awaiter$C(this, void 0, void 0, function* () {
4910
+ return (...args) => __awaiter$D(this, void 0, void 0, function* () {
4911
4911
  yield target.updateScalingMode(...args);
4912
4912
  this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
4913
4913
  });
@@ -4928,7 +4928,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
4928
4928
 
4929
4929
  // Copyright (c) Microsoft Corporation.
4930
4930
  // Licensed under the MIT License.
4931
- var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4931
+ var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4932
4932
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4933
4933
  return new (P || (P = Promise))(function (resolve, reject) {
4934
4934
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4950,7 +4950,7 @@ class ProxyCallClient {
4950
4950
  get(target, prop) {
4951
4951
  switch (prop) {
4952
4952
  case 'createCallAgent': {
4953
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$B(this, void 0, void 0, function* () {
4953
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$C(this, void 0, void 0, function* () {
4954
4954
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
4955
4955
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
4956
4956
  // callAgent if the createCallAgent succeeds.
@@ -4963,7 +4963,7 @@ class ProxyCallClient {
4963
4963
  }), 'CallClient.createCallAgent');
4964
4964
  }
4965
4965
  case 'createTeamsCallAgent': {
4966
- /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$B(this, void 0, void 0, function* () {
4966
+ /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$C(this, void 0, void 0, function* () {
4967
4967
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
4968
4968
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
4969
4969
  // callAgent if the createCallAgent succeeds.
@@ -4976,7 +4976,7 @@ class ProxyCallClient {
4976
4976
  }), 'CallClient.createTeamsCallAgent');
4977
4977
  }
4978
4978
  case 'getDeviceManager': {
4979
- return this._context.withAsyncErrorTeedToState(() => __awaiter$B(this, void 0, void 0, function* () {
4979
+ return this._context.withAsyncErrorTeedToState(() => __awaiter$C(this, void 0, void 0, function* () {
4980
4980
  // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
4981
4981
  // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
4982
4982
  // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
@@ -5005,7 +5005,7 @@ class ProxyCallClient {
5005
5005
  /**
5006
5006
  * add to this object if we want to proxy anything else off the DebugInfo feature object.
5007
5007
  */
5008
- return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$B(this, void 0, void 0, function* () {
5008
+ return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$C(this, void 0, void 0, function* () {
5009
5009
  const environmentInfo = yield feature.getEnvironmentInfo();
5010
5010
  this._context.setEnvironmentInfo(environmentInfo);
5011
5011
  return environmentInfo;
@@ -5066,7 +5066,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
5066
5066
  });
5067
5067
  Object.defineProperty(callClient, 'createView', {
5068
5068
  configurable: false,
5069
- value: (callId, participantId, stream, options) => __awaiter$B(void 0, void 0, void 0, function* () {
5069
+ value: (callId, participantId, stream, options) => __awaiter$C(void 0, void 0, void 0, function* () {
5070
5070
  const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
5071
5071
  const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
5072
5072
  // We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
@@ -7660,7 +7660,7 @@ const _MentionPopover = (props) => {
7660
7660
 
7661
7661
  // Copyright (c) Microsoft Corporation.
7662
7662
  // Licensed under the MIT License.
7663
- var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7663
+ var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7664
7664
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7665
7665
  return new (P || (P = Promise))(function (resolve, reject) {
7666
7666
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7846,7 +7846,7 @@ const TextFieldWithMention = (props) => {
7846
7846
  onSuggestionSelected,
7847
7847
  updateMentionSuggestions
7848
7848
  ]);
7849
- const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$A(void 0, void 0, void 0, function* () {
7849
+ const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$B(void 0, void 0, void 0, function* () {
7850
7850
  var _a;
7851
7851
  let suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
7852
7852
  suggestions = suggestions.filter((suggestion) => suggestion.displayText.trim() !== '');
@@ -8023,7 +8023,7 @@ const TextFieldWithMention = (props) => {
8023
8023
  });
8024
8024
  }
8025
8025
  }, [updateSelectionIndexesWithMentionIfNeeded, setSelectionStartValue, setSelectionEndValue]);
8026
- const handleOnChange = React.useCallback(({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) => __awaiter$A(void 0, void 0, void 0, function* () {
8026
+ const handleOnChange = React.useCallback(({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) => __awaiter$B(void 0, void 0, void 0, function* () {
8027
8027
  var _b;
8028
8028
  debouncedQueryUpdate.cancel();
8029
8029
  if (event.currentTarget === null) {
@@ -10633,7 +10633,7 @@ const chatMessageActionMenuProps = (menuProps) => {
10633
10633
 
10634
10634
  // Copyright (c) Microsoft Corporation.
10635
10635
  // Licensed under the MIT License.
10636
- var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10636
+ var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10637
10637
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10638
10638
  return new (P || (P = Promise))(function (resolve, reject) {
10639
10639
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10676,7 +10676,7 @@ const _FileDownloadCards = (props) => {
10676
10676
  fileCount: `${(_c = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.filter(isFileSharingAttachment).length) !== null && _c !== void 0 ? _c : 0}`
10677
10677
  });
10678
10678
  }, [(_b = props.strings) === null || _b === void 0 ? void 0 : _b.fileCardGroupMessage, localeStrings.fileCardGroupMessage, fileMetadata, isFileSharingAttachment]);
10679
- const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$z(void 0, void 0, void 0, function* () {
10679
+ const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$A(void 0, void 0, void 0, function* () {
10680
10680
  if (!props.downloadHandler) {
10681
10681
  window.open(file.url, '_blank', 'noopener,noreferrer');
10682
10682
  }
@@ -10728,7 +10728,7 @@ const useLocaleStringsTrampoline = () => {
10728
10728
 
10729
10729
  // Copyright (c) Microsoft Corporation.
10730
10730
  // Licensed under the MIT License.
10731
- var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10731
+ var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10732
10732
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10733
10733
  return new (P || (P = Promise))(function (resolve, reject) {
10734
10734
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10829,7 +10829,7 @@ const MessageBubble = (props) => {
10829
10829
  return undefined;
10830
10830
  }, [editedOn, message.messageType, messageStatus, strings.editedTag, strings.failToSendTag, theme]);
10831
10831
  /* @conditional-compile-remove(image-gallery) */
10832
- const handleOnInlineImageClicked = React.useCallback((attachmentId) => __awaiter$y(void 0, void 0, void 0, function* () {
10832
+ const handleOnInlineImageClicked = React.useCallback((attachmentId) => __awaiter$z(void 0, void 0, void 0, function* () {
10833
10833
  if (onInlineImageClicked === undefined) {
10834
10834
  return;
10835
10835
  }
@@ -10949,7 +10949,7 @@ const ChatMessageComponentAsMessageBubble = React.memo(MessageBubble);
10949
10949
 
10950
10950
  // Copyright (c) Microsoft Corporation.
10951
10951
  // Licensed under the MIT License.
10952
- var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10952
+ var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10953
10953
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10954
10954
  return new (P || (P = Promise))(function (resolve, reject) {
10955
10955
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10982,7 +10982,7 @@ const ChatMessageComponent = (props) => {
10982
10982
  onSendMessage && onSendMessage(content !== undefined ? content : '');
10983
10983
  }, [clientMessageId, content, onSendMessage, onDeleteMessage]);
10984
10984
  if (isEditing && message.messageType === 'chat') {
10985
- return (React.createElement(ChatMessageComponentAsEditBox, { message: message, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$x(void 0, void 0, void 0, function* () {
10985
+ return (React.createElement(ChatMessageComponentAsEditBox, { message: message, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$y(void 0, void 0, void 0, function* () {
10986
10986
  props.onUpdateMessage &&
10987
10987
  message.messageId &&
10988
10988
  (yield props.onUpdateMessage(message.messageId, text, metadata, options));
@@ -11293,7 +11293,7 @@ const ChatMessageComponentWrapper = (props) => {
11293
11293
 
11294
11294
  // Copyright (c) Microsoft Corporation.
11295
11295
  // Licensed under the MIT License.
11296
- var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11296
+ var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11297
11297
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11298
11298
  return new (P || (P = Promise))(function (resolve, reject) {
11299
11299
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -11463,7 +11463,7 @@ const MessageThreadWrapper = (props) => {
11463
11463
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
11464
11464
  const [inlineAttachments, setInlineAttachments] = React.useState({});
11465
11465
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
11466
- const onFetchInlineAttachment = React.useCallback((attachments, messageId) => __awaiter$w(void 0, void 0, void 0, function* () {
11466
+ const onFetchInlineAttachment = React.useCallback((attachments, messageId) => __awaiter$x(void 0, void 0, void 0, function* () {
11467
11467
  if (!onFetchAttachments || attachments.length === 0) {
11468
11468
  return;
11469
11469
  }
@@ -11493,7 +11493,7 @@ const MessageThreadWrapper = (props) => {
11493
11493
  const previousMessagesRef = React.useRef([]);
11494
11494
  // an aria label for Narrator to notify when a message is deleted
11495
11495
  const [deletedMessageAriaLabel, setDeletedMessageAriaLabel] = React.useState(undefined);
11496
- const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$w(void 0, void 0, void 0, function* () {
11496
+ const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$x(void 0, void 0, void 0, function* () {
11497
11497
  if (!onDeleteMessage) {
11498
11498
  return;
11499
11499
  }
@@ -11573,7 +11573,7 @@ const MessageThreadWrapper = (props) => {
11573
11573
  */
11574
11574
  const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
11575
11575
  // we try to only send those message status if user is scrolled to the bottom.
11576
- const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$w(void 0, void 0, void 0, function* () {
11576
+ const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$x(void 0, void 0, void 0, function* () {
11577
11577
  if (!isAtBottomOfScrollRef.current ||
11578
11578
  !document.hasFocus() ||
11579
11579
  !messagesRef.current ||
@@ -11624,7 +11624,7 @@ const MessageThreadWrapper = (props) => {
11624
11624
  setIsAtBottomOfScrollRef(atBottom);
11625
11625
  }, [scrollToBottom, sendMessageStatusIfAtBottom]);
11626
11626
  // Infinite scrolling + threadInitialize function
11627
- const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$w(void 0, void 0, void 0, function* () {
11627
+ const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$x(void 0, void 0, void 0, function* () {
11628
11628
  if (!isLoadingChatMessagesRef.current) {
11629
11629
  if (onLoadPreviousChatMessages) {
11630
11630
  isLoadingChatMessagesRef.current = true;
@@ -13745,7 +13745,7 @@ const localVideoTileContainerStyles = {
13745
13745
 
13746
13746
  // Copyright (c) Microsoft Corporation.
13747
13747
  // Licensed under the MIT License.
13748
- var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
13748
+ var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
13749
13749
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13750
13750
  return new (P || (P = Promise))(function (resolve, reject) {
13751
13751
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -13762,7 +13762,7 @@ const LocalVideoCameraCycleButton = (props) => {
13762
13762
  const { cameras, selectedCamera, onSelectCamera, label, ariaDescription, size } = props;
13763
13763
  const theme = react.useTheme();
13764
13764
  const [waitForCamera, setWaitForCamera] = React.useState(false);
13765
- const onChangeCameraClick = React.useCallback((device) => __awaiter$v(void 0, void 0, void 0, function* () {
13765
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$w(void 0, void 0, void 0, function* () {
13766
13766
  // Throttle changing camera to prevent too many callbacks
13767
13767
  if (onSelectCamera) {
13768
13768
  setWaitForCamera(true);
@@ -16868,7 +16868,7 @@ const DevicesButton = (props) => {
16868
16868
 
16869
16869
  // Copyright (c) Microsoft Corporation.
16870
16870
  // Licensed under the MIT License.
16871
- var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
16871
+ var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
16872
16872
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16873
16873
  return new (P || (P = Promise))(function (resolve, reject) {
16874
16874
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -16906,7 +16906,7 @@ const CameraButton = (props) => {
16906
16906
  const toggleAnnouncerString = React.useCallback((isCameraOn) => {
16907
16907
  setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
16908
16908
  }, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
16909
- const onToggleClick = React.useCallback(() => __awaiter$u(void 0, void 0, void 0, function* () {
16909
+ const onToggleClick = React.useCallback(() => __awaiter$v(void 0, void 0, void 0, function* () {
16910
16910
  // Throttle click on camera, need to await onToggleCamera then allow another click
16911
16911
  if (onToggleCamera) {
16912
16912
  setWaitForCamera(true);
@@ -16920,7 +16920,7 @@ const CameraButton = (props) => {
16920
16920
  }
16921
16921
  }
16922
16922
  }), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
16923
- const onChangeCameraClick = React.useCallback((device) => __awaiter$u(void 0, void 0, void 0, function* () {
16923
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$v(void 0, void 0, void 0, function* () {
16924
16924
  // Throttle changing camera to prevent too many callbacks
16925
16925
  if (onSelectCamera) {
16926
16926
  setWaitForCamera(true);
@@ -17091,7 +17091,7 @@ const lightThemeCallButtonStyles = {
17091
17091
 
17092
17092
  // Copyright (c) Microsoft Corporation.
17093
17093
  // Licensed under the MIT License.
17094
- var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17094
+ var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17095
17095
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17096
17096
  return new (P || (P = Promise))(function (resolve, reject) {
17097
17097
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -17132,7 +17132,7 @@ const MicrophoneButton = (props) => {
17132
17132
  const toggleAnnouncerString = React.useCallback((isMicOn) => {
17133
17133
  setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
17134
17134
  }, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
17135
- const onToggleClick = React.useCallback(() => __awaiter$t(void 0, void 0, void 0, function* () {
17135
+ const onToggleClick = React.useCallback(() => __awaiter$u(void 0, void 0, void 0, function* () {
17136
17136
  if (onToggleMicrophone) {
17137
17137
  try {
17138
17138
  yield onToggleMicrophone();
@@ -18307,7 +18307,7 @@ const dtmfFrequencies = {
18307
18307
 
18308
18308
  // Copyright (c) Microsoft Corporation.
18309
18309
  // Licensed under the MIT License.
18310
- var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18310
+ var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18311
18311
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18312
18312
  return new (P || (P = Promise))(function (resolve, reject) {
18313
18313
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -18351,10 +18351,10 @@ const DialpadButton = (props) => {
18351
18351
  const [buttonPressed, setButtonPressed] = React.useState(false);
18352
18352
  const dtmfToneSound = React.useRef(new Tone(dtmfToneAudioContext, dtmfFrequencies[digit].f1, dtmfFrequencies[digit].f2));
18353
18353
  const useLongPressProps = React.useMemo(() => ({
18354
- onClick: () => __awaiter$s(void 0, void 0, void 0, function* () {
18354
+ onClick: () => __awaiter$t(void 0, void 0, void 0, function* () {
18355
18355
  onClick(digit, index);
18356
18356
  }),
18357
- onLongPress: () => __awaiter$s(void 0, void 0, void 0, function* () {
18357
+ onLongPress: () => __awaiter$t(void 0, void 0, void 0, function* () {
18358
18358
  onLongPress(digit, index);
18359
18359
  }),
18360
18360
  touchEventsOnly: isMobile
@@ -19503,7 +19503,7 @@ const _spokenLanguageToCaptionLanguage = {
19503
19503
 
19504
19504
  // Copyright (c) Microsoft Corporation.
19505
19505
  // Licensed under the MIT License.
19506
- var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19506
+ var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19507
19507
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19508
19508
  return new (P || (P = Promise))(function (resolve, reject) {
19509
19509
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -19546,7 +19546,7 @@ const _CaptionsSettingsModal = (props) => {
19546
19546
  onDismissCaptionsSettings();
19547
19547
  }
19548
19548
  }, [onDismissCaptionsSettings]);
19549
- const onConfirm = React.useCallback(() => __awaiter$r(void 0, void 0, void 0, function* () {
19549
+ const onConfirm = React.useCallback(() => __awaiter$s(void 0, void 0, void 0, function* () {
19550
19550
  const spokenLanguageCode = selectedSpokenLanguage.key.toString();
19551
19551
  const captionLanguageCode = selectedCaptionLanguage.key.toString();
19552
19552
  if (isCaptionsFeatureActive) {
@@ -20634,7 +20634,7 @@ const findConditionalCompiledSelector = (component) => {
20634
20634
 
20635
20635
  // Copyright (c) Microsoft Corporation.
20636
20636
  // Licensed under the MIT License.
20637
- var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
20637
+ var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
20638
20638
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
20639
20639
  return new (P || (P = Promise))(function (resolve, reject) {
20640
20640
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -20657,35 +20657,35 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
20657
20657
  let messageIterator = undefined;
20658
20658
  let readReceiptIterator = undefined;
20659
20659
  return {
20660
- onSendMessage: (content, options) => __awaiter$q(void 0, void 0, void 0, function* () {
20660
+ onSendMessage: (content, options) => __awaiter$r(void 0, void 0, void 0, function* () {
20661
20661
  const sendMessageRequest = {
20662
20662
  content,
20663
20663
  senderDisplayName: chatClient.getState().displayName
20664
20664
  };
20665
20665
  yield chatThreadClient.sendMessage(sendMessageRequest, options);
20666
20666
  }),
20667
- onUpdateMessage: (messageId, content, options) => __awaiter$q(void 0, void 0, void 0, function* () {
20667
+ onUpdateMessage: (messageId, content, options) => __awaiter$r(void 0, void 0, void 0, function* () {
20668
20668
  const updatedMetadata = (options === null || options === void 0 ? void 0 : options.metadata) ? Object.assign({}, options.metadata) : {};
20669
20669
  updatedMetadata.fileSharingMetadata = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachmentMetadata) || []);
20670
20670
  yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
20671
20671
  }),
20672
- onDeleteMessage: (messageId) => __awaiter$q(void 0, void 0, void 0, function* () {
20672
+ onDeleteMessage: (messageId) => __awaiter$r(void 0, void 0, void 0, function* () {
20673
20673
  yield chatThreadClient.deleteMessage(messageId);
20674
20674
  }),
20675
20675
  // This handler is designed for chatThread to consume
20676
- onMessageSeen: (chatMessageId) => __awaiter$q(void 0, void 0, void 0, function* () {
20676
+ onMessageSeen: (chatMessageId) => __awaiter$r(void 0, void 0, void 0, function* () {
20677
20677
  yield chatThreadClient.sendReadReceipt({ chatMessageId });
20678
20678
  }),
20679
- onTyping: () => __awaiter$q(void 0, void 0, void 0, function* () {
20679
+ onTyping: () => __awaiter$r(void 0, void 0, void 0, function* () {
20680
20680
  yield chatThreadClient.sendTypingNotification();
20681
20681
  }),
20682
- onRemoveParticipant: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
20682
+ onRemoveParticipant: (userId) => __awaiter$r(void 0, void 0, void 0, function* () {
20683
20683
  yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
20684
20684
  }),
20685
- updateThreadTopicName: (topicName) => __awaiter$q(void 0, void 0, void 0, function* () {
20685
+ updateThreadTopicName: (topicName) => __awaiter$r(void 0, void 0, void 0, function* () {
20686
20686
  yield chatThreadClient.updateTopic(topicName);
20687
20687
  }),
20688
- onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$q(void 0, void 0, void 0, function* () {
20688
+ onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$r(void 0, void 0, void 0, function* () {
20689
20689
  var _a, _b, _c;
20690
20690
  if (messageIterator === undefined) {
20691
20691
  // Lazy definition so that errors in the method call are reported correctly.
@@ -21594,7 +21594,7 @@ const chatStatefulLogger = logger.createClientLogger('communication-react:chat-s
21594
21594
 
21595
21595
  // Copyright (c) Microsoft Corporation.
21596
21596
  // Licensed under the MIT License.
21597
- var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21597
+ var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21598
21598
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21599
21599
  return new (P || (P = Promise))(function (resolve, reject) {
21600
21600
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -21869,7 +21869,7 @@ let ChatContext$1 = class ChatContext {
21869
21869
  * @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
21870
21870
  */
21871
21871
  withAsyncErrorTeedToState(f, target) {
21872
- return (...args) => __awaiter$p(this, void 0, void 0, function* () {
21872
+ return (...args) => __awaiter$q(this, void 0, void 0, function* () {
21873
21873
  try {
21874
21874
  return yield f(...args);
21875
21875
  }
@@ -21981,7 +21981,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
21981
21981
 
21982
21982
  // Copyright (c) Microsoft Corporation.
21983
21983
  // Licensed under the MIT License.
21984
- var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21984
+ var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21985
21985
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21986
21986
  return new (P || (P = Promise))(function (resolve, reject) {
21987
21987
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22070,7 +22070,7 @@ class EventSubscriber {
22070
22070
  };
22071
22071
  // This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.
22072
22072
  // Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.
22073
- this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$o(this, void 0, void 0, function* () {
22073
+ this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$p(this, void 0, void 0, function* () {
22074
22074
  var _a, e_1, _b, _c;
22075
22075
  try {
22076
22076
  for (var _d = true, _e = __asyncValues$1(this.chatClient
@@ -22164,7 +22164,7 @@ class EventSubscriber {
22164
22164
 
22165
22165
  // Copyright (c) Microsoft Corporation.
22166
22166
  // Licensed under the MIT License.
22167
- var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22167
+ var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22168
22168
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22169
22169
  return new (P || (P = Promise))(function (resolve, reject) {
22170
22170
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22186,7 +22186,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
22186
22186
  const threadsIterator = iteratorCreator(...args);
22187
22187
  return {
22188
22188
  next() {
22189
- return __awaiter$n(this, void 0, void 0, function* () {
22189
+ return __awaiter$o(this, void 0, void 0, function* () {
22190
22190
  const result = yield threadsIterator.next();
22191
22191
  if (!result.done && result.value) {
22192
22192
  decorateFn(result.value, context);
@@ -22201,7 +22201,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
22201
22201
  const pages = threadsIterator.byPage(settings);
22202
22202
  return {
22203
22203
  next() {
22204
- return __awaiter$n(this, void 0, void 0, function* () {
22204
+ return __awaiter$o(this, void 0, void 0, function* () {
22205
22205
  const result = yield pages.next();
22206
22206
  const page = result.value;
22207
22207
  if (!result.done && result.value) {
@@ -22288,7 +22288,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
22288
22288
 
22289
22289
  // Copyright (c) Microsoft Corporation.
22290
22290
  // Licensed under the MIT License.
22291
- var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22291
+ var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22292
22292
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22293
22293
  return new (P || (P = Promise))(function (resolve, reject) {
22294
22294
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22307,14 +22307,14 @@ class ProxyChatThreadClient {
22307
22307
  return createDecoratedListMessages(chatThreadClient, this._context);
22308
22308
  }
22309
22309
  case 'getMessage': {
22310
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22310
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22311
22311
  const message = yield chatThreadClient.getMessage(...args);
22312
22312
  this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
22313
22313
  return message;
22314
22314
  }), 'ChatThreadClient.getMessage');
22315
22315
  }
22316
22316
  case 'sendMessage': {
22317
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22317
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22318
22318
  var _a;
22319
22319
  // Retry logic?
22320
22320
  const [request, options] = args;
@@ -22355,7 +22355,7 @@ class ProxyChatThreadClient {
22355
22355
  }), 'ChatThreadClient.sendMessage');
22356
22356
  }
22357
22357
  case 'addParticipants': {
22358
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22358
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22359
22359
  const result = yield chatThreadClient.addParticipants(...args);
22360
22360
  const [addRequest] = args;
22361
22361
  const participantsToAdd = addRequest.participants;
@@ -22364,7 +22364,7 @@ class ProxyChatThreadClient {
22364
22364
  }), 'ChatThreadClient.addParticipants');
22365
22365
  }
22366
22366
  case 'deleteMessage': {
22367
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22367
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22368
22368
  // DeleteMessage is able to either delete local one(for failed message) or synced message
22369
22369
  const [messageId] = args;
22370
22370
  if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
@@ -22382,12 +22382,12 @@ class ProxyChatThreadClient {
22382
22382
  return createDecoratedListReadReceipts(chatThreadClient, this._context);
22383
22383
  }
22384
22384
  case 'sendTypingNotification': {
22385
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22385
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22386
22386
  return yield chatThreadClient.sendTypingNotification(...args);
22387
22387
  }), 'ChatThreadClient.sendTypingNotification');
22388
22388
  }
22389
22389
  case 'removeParticipant': {
22390
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22390
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22391
22391
  const result = yield chatThreadClient.removeParticipant(...args);
22392
22392
  const [removeIdentifier] = args;
22393
22393
  this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
@@ -22395,7 +22395,7 @@ class ProxyChatThreadClient {
22395
22395
  }), 'ChatThreadClient.removeParticipant');
22396
22396
  }
22397
22397
  case 'updateMessage': {
22398
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22398
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22399
22399
  const result = yield chatThreadClient.updateMessage(...args);
22400
22400
  const [messageId, updateOption] = args;
22401
22401
  this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
@@ -22403,7 +22403,7 @@ class ProxyChatThreadClient {
22403
22403
  }), 'ChatThreadClient.updateMessage');
22404
22404
  }
22405
22405
  case 'updateTopic': {
22406
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22406
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22407
22407
  const result = yield chatThreadClient.updateTopic(...args);
22408
22408
  const [topic] = args;
22409
22409
  this._context.updateThreadTopic(chatThreadClient.threadId, topic);
@@ -22411,7 +22411,7 @@ class ProxyChatThreadClient {
22411
22411
  }), 'ChatThreadClient.updateTopic');
22412
22412
  }
22413
22413
  case 'getProperties': {
22414
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$m(this, void 0, void 0, function* () {
22414
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$n(this, void 0, void 0, function* () {
22415
22415
  const result = yield chatThreadClient.getProperties(...args);
22416
22416
  this._context.updateThread(chatThreadClient.threadId, result);
22417
22417
  return result;
@@ -22449,7 +22449,7 @@ const createDecoratedListThreads = (chatClient, context) => {
22449
22449
 
22450
22450
  // Copyright (c) Microsoft Corporation.
22451
22451
  // Licensed under the MIT License.
22452
- var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22452
+ var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22453
22453
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22454
22454
  return new (P || (P = Promise))(function (resolve, reject) {
22455
22455
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22468,7 +22468,7 @@ const proxyChatClient = {
22468
22468
  switch (prop) {
22469
22469
  case 'createChatThread': {
22470
22470
  return context.withAsyncErrorTeedToState(function (...args) {
22471
- return __awaiter$l(this, void 0, void 0, function* () {
22471
+ return __awaiter$m(this, void 0, void 0, function* () {
22472
22472
  const result = yield chatClient.createChatThread(...args);
22473
22473
  const thread = result.chatThread;
22474
22474
  if (thread) {
@@ -22481,7 +22481,7 @@ const proxyChatClient = {
22481
22481
  }
22482
22482
  case 'deleteChatThread': {
22483
22483
  return context.withAsyncErrorTeedToState(function (...args) {
22484
- return __awaiter$l(this, void 0, void 0, function* () {
22484
+ return __awaiter$m(this, void 0, void 0, function* () {
22485
22485
  const result = yield chatClient.deleteChatThread(...args);
22486
22486
  context.deleteThread(args[0]);
22487
22487
  return result;
@@ -22501,7 +22501,7 @@ const proxyChatClient = {
22501
22501
  }
22502
22502
  case 'startRealtimeNotifications': {
22503
22503
  return context.withAsyncErrorTeedToState(function (...args) {
22504
- return __awaiter$l(this, void 0, void 0, function* () {
22504
+ return __awaiter$m(this, void 0, void 0, function* () {
22505
22505
  const ret = yield chatClient.startRealtimeNotifications(...args);
22506
22506
  if (!receiver.eventSubscriber) {
22507
22507
  receiver.eventSubscriber = new EventSubscriber(chatClient, context);
@@ -22512,7 +22512,7 @@ const proxyChatClient = {
22512
22512
  }
22513
22513
  case 'stopRealtimeNotifications': {
22514
22514
  return context.withAsyncErrorTeedToState(function (...args) {
22515
- return __awaiter$l(this, void 0, void 0, function* () {
22515
+ return __awaiter$m(this, void 0, void 0, function* () {
22516
22516
  const ret = yield chatClient.stopRealtimeNotifications(...args);
22517
22517
  if (receiver.eventSubscriber) {
22518
22518
  receiver.eventSubscriber.unsubscribe();
@@ -22706,7 +22706,9 @@ const COMPOSITE_ONLY_ICONS = {
22706
22706
  /* @conditional-compile-remove(gallery-layouts) */
22707
22707
  LargeGalleryLayout: React.createElement(reactIcons.Table20Regular, null),
22708
22708
  /* @conditional-compile-remove(control-bar-button-injection) */
22709
- DefaultCustomButton: React.createElement(reactIcons.Circle20Regular, null)
22709
+ DefaultCustomButton: React.createElement(reactIcons.Circle20Regular, null),
22710
+ /* @conditional-compile-remove(dtmf-dialer) */
22711
+ DtmfDialpadButton: React.createElement(reactIcons.Dialpad20Regular, null)
22710
22712
  };
22711
22713
  /**
22712
22714
  * The default set of icons that are available to used in the Composites.
@@ -22739,7 +22741,7 @@ const CallCompositeIcon = (props) => (React.createElement(react.FontIcon, Object
22739
22741
  */
22740
22742
  const CallWithChatCompositeIcon = (props) => (React.createElement(react.FontIcon, Object.assign({}, props)));
22741
22743
 
22742
- var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyQuestion:"How was your call today?",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22744
+ var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyQuestion:"How was your call today?",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22743
22745
 
22744
22746
  // Copyright (c) Microsoft Corporation.
22745
22747
  // Licensed under the MIT License.
@@ -22996,7 +22998,7 @@ const convertObservableFileUploadToFileUploadsUiState = (fileUploads) => {
22996
22998
 
22997
22999
  // Copyright (c) Microsoft Corporation.
22998
23000
  // Licensed under the MIT License.
22999
- var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23001
+ var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23000
23002
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23001
23003
  return new (P || (P = Promise))(function (resolve, reject) {
23002
23004
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23131,9 +23133,9 @@ class AzureCommunicationChatAdapter {
23131
23133
  this.unsubscribeAllEvents();
23132
23134
  }
23133
23135
  fetchInitialData() {
23134
- return __awaiter$k(this, void 0, void 0, function* () {
23136
+ return __awaiter$l(this, void 0, void 0, function* () {
23135
23137
  // If get properties fails we dont want to try to get the participants after.
23136
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23138
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23137
23139
  var _a, e_1, _b, _c;
23138
23140
  yield this.chatThreadClient.getProperties();
23139
23141
  try {
@@ -23169,8 +23171,8 @@ class AzureCommunicationChatAdapter {
23169
23171
  this.context.offStateChange(handler);
23170
23172
  }
23171
23173
  sendMessage(content, options = {}) {
23172
- return __awaiter$k(this, void 0, void 0, function* () {
23173
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23174
+ return __awaiter$l(this, void 0, void 0, function* () {
23175
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23174
23176
  /* @conditional-compile-remove(file-sharing) */
23175
23177
  options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
23176
23178
  /* @conditional-compile-remove(file-sharing) */
@@ -23187,43 +23189,43 @@ class AzureCommunicationChatAdapter {
23187
23189
  });
23188
23190
  }
23189
23191
  sendReadReceipt(chatMessageId) {
23190
- return __awaiter$k(this, void 0, void 0, function* () {
23191
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23192
+ return __awaiter$l(this, void 0, void 0, function* () {
23193
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23192
23194
  yield this.handlers.onMessageSeen(chatMessageId);
23193
23195
  }));
23194
23196
  });
23195
23197
  }
23196
23198
  sendTypingIndicator() {
23197
- return __awaiter$k(this, void 0, void 0, function* () {
23198
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23199
+ return __awaiter$l(this, void 0, void 0, function* () {
23200
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23199
23201
  yield this.handlers.onTyping();
23200
23202
  }));
23201
23203
  });
23202
23204
  }
23203
23205
  removeParticipant(userId) {
23204
- return __awaiter$k(this, void 0, void 0, function* () {
23205
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23206
+ return __awaiter$l(this, void 0, void 0, function* () {
23207
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23206
23208
  yield this.handlers.onRemoveParticipant(userId);
23207
23209
  }));
23208
23210
  });
23209
23211
  }
23210
23212
  setTopic(topicName) {
23211
- return __awaiter$k(this, void 0, void 0, function* () {
23212
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23213
+ return __awaiter$l(this, void 0, void 0, function* () {
23214
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23213
23215
  yield this.handlers.updateThreadTopicName(topicName);
23214
23216
  }));
23215
23217
  });
23216
23218
  }
23217
23219
  loadPreviousChatMessages(messagesToLoad) {
23218
- return __awaiter$k(this, void 0, void 0, function* () {
23219
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23220
+ return __awaiter$l(this, void 0, void 0, function* () {
23221
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23220
23222
  return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
23221
23223
  }));
23222
23224
  });
23223
23225
  }
23224
23226
  updateMessage(messageId, content, metadata, options) {
23225
- return __awaiter$k(this, void 0, void 0, function* () {
23226
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23227
+ return __awaiter$l(this, void 0, void 0, function* () {
23228
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23227
23229
  /* @conditional-compile-remove(file-sharing) */
23228
23230
  const updatedOptions = options ? { attachmentMetadata: options.attachmentMetadata, metadata: metadata } : {};
23229
23231
  /* @conditional-compile-remove(file-sharing) */
@@ -23232,8 +23234,8 @@ class AzureCommunicationChatAdapter {
23232
23234
  });
23233
23235
  }
23234
23236
  deleteMessage(messageId) {
23235
- return __awaiter$k(this, void 0, void 0, function* () {
23236
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23237
+ return __awaiter$l(this, void 0, void 0, function* () {
23238
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23237
23239
  return yield this.handlers.onDeleteMessage(messageId);
23238
23240
  }));
23239
23241
  });
@@ -23268,8 +23270,8 @@ class AzureCommunicationChatAdapter {
23268
23270
  }
23269
23271
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
23270
23272
  downloadAttachments(options) {
23271
- return __awaiter$k(this, void 0, void 0, function* () {
23272
- return this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23273
+ return __awaiter$l(this, void 0, void 0, function* () {
23274
+ return this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23273
23275
  if (this.credential === undefined) {
23274
23276
  throw new ChatError('ChatThreadClient.getMessage', new Error('AccessToken is null'));
23275
23277
  }
@@ -23283,9 +23285,9 @@ class AzureCommunicationChatAdapter {
23283
23285
  }
23284
23286
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
23285
23287
  downloadAuthenticatedFile(accessToken, options) {
23286
- return __awaiter$k(this, void 0, void 0, function* () {
23288
+ return __awaiter$l(this, void 0, void 0, function* () {
23287
23289
  function fetchWithAuthentication(url, token) {
23288
- return __awaiter$k(this, void 0, void 0, function* () {
23290
+ return __awaiter$l(this, void 0, void 0, function* () {
23289
23291
  const headers = new Headers();
23290
23292
  headers.append('Authorization', `Bearer ${token}`);
23291
23293
  try {
@@ -23377,7 +23379,7 @@ class AzureCommunicationChatAdapter {
23377
23379
  this.emitter.off(event, listener);
23378
23380
  }
23379
23381
  asyncTeeErrorToEventEmitter(f) {
23380
- return __awaiter$k(this, void 0, void 0, function* () {
23382
+ return __awaiter$l(this, void 0, void 0, function* () {
23381
23383
  try {
23382
23384
  return yield f();
23383
23385
  }
@@ -23427,7 +23429,7 @@ const convertEventType = (type) => {
23427
23429
  *
23428
23430
  * @public
23429
23431
  */
23430
- const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$k(void 0, void 0, void 0, function* () {
23432
+ const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$l(void 0, void 0, void 0, function* () {
23431
23433
  return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);
23432
23434
  });
23433
23435
  /**
@@ -23435,7 +23437,7 @@ const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, di
23435
23437
  *
23436
23438
  * @internal
23437
23439
  */
23438
- const _createAzureCommunicationChatAdapterInner = (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') => __awaiter$k(void 0, void 0, void 0, function* () {
23440
+ const _createAzureCommunicationChatAdapterInner = (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') => __awaiter$l(void 0, void 0, void 0, function* () {
23439
23441
  if (!_isValidIdentifier(userId)) {
23440
23442
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
23441
23443
  }
@@ -23504,7 +23506,7 @@ beforeDispose) => {
23504
23506
  if (!credential || !displayName || !endpoint || !threadId || !userId) {
23505
23507
  return;
23506
23508
  }
23507
- (() => __awaiter$k(void 0, void 0, void 0, function* () {
23509
+ (() => __awaiter$l(void 0, void 0, void 0, function* () {
23508
23510
  if (adapterRef.current) {
23509
23511
  // Dispose the old adapter when a new one is created.
23510
23512
  //
@@ -23536,7 +23538,7 @@ beforeDispose) => {
23536
23538
  // Dispose any existing adapter when the component unmounts.
23537
23539
  React.useEffect(() => {
23538
23540
  return () => {
23539
- (() => __awaiter$k(void 0, void 0, void 0, function* () {
23541
+ (() => __awaiter$l(void 0, void 0, void 0, function* () {
23540
23542
  if (adapterRef.current) {
23541
23543
  if (beforeDisposeRef.current) {
23542
23544
  yield beforeDisposeRef.current(adapterRef.current);
@@ -23560,7 +23562,7 @@ beforeDispose) => {
23560
23562
  function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient,
23561
23563
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
23562
23564
  options) {
23563
- return __awaiter$k(this, void 0, void 0, function* () {
23565
+ return __awaiter$l(this, void 0, void 0, function* () {
23564
23566
  return new AzureCommunicationChatAdapter(chatClient, chatThreadClient,
23565
23567
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options);
23566
23568
  });
@@ -23794,7 +23796,7 @@ const sendboxContainerStyles = {
23794
23796
 
23795
23797
  // Copyright (c) Microsoft Corporation.
23796
23798
  // Licensed under the MIT License.
23797
- var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23799
+ var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23798
23800
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23799
23801
  return new (P || (P = Promise))(function (resolve, reject) {
23800
23802
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23815,7 +23817,7 @@ const AvatarPersona = (props) => {
23815
23817
  const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
23816
23818
  const [data, setData] = React.useState();
23817
23819
  React.useEffect(() => {
23818
- (() => __awaiter$j(void 0, void 0, void 0, function* () {
23820
+ (() => __awaiter$k(void 0, void 0, void 0, function* () {
23819
23821
  if (dataProvider && userId) {
23820
23822
  const newData = yield dataProvider(userId);
23821
23823
  if (avatarDeepDifferenceCheck(data, newData)) {
@@ -24232,7 +24234,7 @@ const FileDownloadErrorBar = (props) => {
24232
24234
 
24233
24235
  // Copyright (c) Microsoft Corporation.
24234
24236
  // Licensed under the MIT License.
24235
- var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24237
+ var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24236
24238
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24237
24239
  return new (P || (P = Promise))(function (resolve, reject) {
24238
24240
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24259,7 +24261,7 @@ const ChatScreen = (props) => {
24259
24261
  const theme = useTheme();
24260
24262
  React.useEffect(() => {
24261
24263
  // Initial data should be always fetched by the composite(or external caller) instead of the adapter
24262
- const fetchData = () => __awaiter$i(void 0, void 0, void 0, function* () {
24264
+ const fetchData = () => __awaiter$j(void 0, void 0, void 0, function* () {
24263
24265
  // Fetch initial data for adapter
24264
24266
  yield adapter.fetchInitialData();
24265
24267
  // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.
@@ -24299,7 +24301,7 @@ const ChatScreen = (props) => {
24299
24301
  setDownloadErrorMessage(errorMessage);
24300
24302
  } })), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
24301
24303
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
24302
- const onRenderInlineAttachment = React.useCallback((attachment) => __awaiter$i(void 0, void 0, void 0, function* () {
24304
+ const onRenderInlineAttachment = React.useCallback((attachment) => __awaiter$j(void 0, void 0, void 0, function* () {
24303
24305
  const entry = {};
24304
24306
  attachment.forEach((target) => {
24305
24307
  if (target.attachmentType === 'inlineImage' && target.previewUrl) {
@@ -24310,7 +24312,7 @@ const ChatScreen = (props) => {
24310
24312
  return blob;
24311
24313
  }), [adapter]);
24312
24314
  /* @conditional-compile-remove(image-gallery) */
24313
- const onInlineImageClicked = React.useCallback((attachmentId, messageId) => __awaiter$i(void 0, void 0, void 0, function* () {
24315
+ const onInlineImageClicked = React.useCallback((attachmentId, messageId) => __awaiter$j(void 0, void 0, void 0, function* () {
24314
24316
  var _a, _b;
24315
24317
  const messages = (_a = messageThreadProps.messages) === null || _a === void 0 ? void 0 : _a.filter((message) => {
24316
24318
  return message.messageId === messageId;
@@ -24607,7 +24609,7 @@ const END_CALL_PAGES = [
24607
24609
 
24608
24610
  // Copyright (c) Microsoft Corporation.
24609
24611
  // Licensed under the MIT License.
24610
- var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24612
+ var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24611
24613
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24612
24614
  return new (P || (P = Promise))(function (resolve, reject) {
24613
24615
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24930,7 +24932,7 @@ const isDisabled$4 = (option) => {
24930
24932
  /**
24931
24933
  * @returns Permissions state for the camera.
24932
24934
  */
24933
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0, void 0, function* () {
24935
+ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$i(void 0, void 0, void 0, function* () {
24934
24936
  try {
24935
24937
  return (yield navigator.permissions.query({ name: 'camera' })).state;
24936
24938
  }
@@ -24943,7 +24945,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0
24943
24945
  /**
24944
24946
  * @returns Permissions state for the microphone.
24945
24947
  */
24946
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0, void 0, function* () {
24948
+ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$i(void 0, void 0, void 0, function* () {
24947
24949
  try {
24948
24950
  return (yield navigator.permissions.query({ name: 'microphone' })).state;
24949
24951
  }
@@ -24960,7 +24962,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$h(void 0, vo
24960
24962
  * If permission API is not supported on this browser, permission state is set to unsupported.
24961
24963
  * @private
24962
24964
  */
24963
- const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$h(void 0, void 0, void 0, function* () {
24965
+ const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$i(void 0, void 0, void 0, function* () {
24964
24966
  const [cameraResult, microphoneResult] = yield Promise.all([
24965
24967
  queryCameraPermissionFromPermissionsAPI(),
24966
24968
  queryMicrophonePermissionFromPermissionsAPI()
@@ -25038,7 +25040,7 @@ const getSelectedCameraFromAdapterState = (state) => state.devices.selectedCamer
25038
25040
 
25039
25041
  // Copyright (c) Microsoft Corporation.
25040
25042
  // Licensed under the MIT License.
25041
- var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25043
+ var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25042
25044
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25043
25045
  return new (P || (P = Promise))(function (resolve, reject) {
25044
25046
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25057,143 +25059,143 @@ _component) => {
25057
25059
  return createCompositeHandlers(useAdapter());
25058
25060
  };
25059
25061
  const createCompositeHandlers = memoizeOne((adapter) => ({
25060
- onCreateLocalStreamView: (options) => __awaiter$g(void 0, void 0, void 0, function* () {
25062
+ onCreateLocalStreamView: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
25061
25063
  return yield adapter.createStreamView(undefined, options);
25062
25064
  }),
25063
- onCreateRemoteStreamView: (userId, options) => __awaiter$g(void 0, void 0, void 0, function* () {
25065
+ onCreateRemoteStreamView: (userId, options) => __awaiter$h(void 0, void 0, void 0, function* () {
25064
25066
  return yield adapter.createStreamView(userId, options);
25065
25067
  }),
25066
- onHangUp: (forEveryone) => __awaiter$g(void 0, void 0, void 0, function* () {
25068
+ onHangUp: (forEveryone) => __awaiter$h(void 0, void 0, void 0, function* () {
25067
25069
  yield adapter.leaveCall(forEveryone);
25068
25070
  }),
25069
25071
  /* @conditional-compile-remove(PSTN-calls) */
25070
- onToggleHold: () => __awaiter$g(void 0, void 0, void 0, function* () {
25072
+ onToggleHold: () => __awaiter$h(void 0, void 0, void 0, function* () {
25071
25073
  var _a;
25072
25074
  return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
25073
25075
  }),
25074
25076
  /* @conditional-compile-remove(PSTN-calls) */
25075
- onAddParticipant: (participant, options) => __awaiter$g(void 0, void 0, void 0, function* () {
25077
+ onAddParticipant: (participant, options) => __awaiter$h(void 0, void 0, void 0, function* () {
25076
25078
  return yield adapter.addParticipant(participant, options);
25077
25079
  }),
25078
25080
  /* @conditional-compile-remove(PSTN-calls) */
25079
- onSendDtmfTone: (dtmfTone) => __awaiter$g(void 0, void 0, void 0, function* () {
25081
+ onSendDtmfTone: (dtmfTone) => __awaiter$h(void 0, void 0, void 0, function* () {
25080
25082
  yield adapter.sendDtmfTone(dtmfTone);
25081
25083
  }),
25082
- onRemoveParticipant: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25084
+ onRemoveParticipant: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25083
25085
  yield adapter.removeParticipant(userId);
25084
25086
  }),
25085
25087
  /* @conditional-compile-remove(raise-hand) */
25086
- onRaiseHand: () => __awaiter$g(void 0, void 0, void 0, function* () {
25088
+ onRaiseHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
25087
25089
  yield adapter.raiseHand();
25088
25090
  }),
25089
25091
  /* @conditional-compile-remove(raise-hand) */
25090
- onLowerHand: () => __awaiter$g(void 0, void 0, void 0, function* () {
25092
+ onLowerHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
25091
25093
  yield adapter.lowerHand();
25092
25094
  }),
25093
25095
  /* @conditional-compile-remove(raise-hand) */
25094
- onToggleRaiseHand: () => __awaiter$g(void 0, void 0, void 0, function* () {
25096
+ onToggleRaiseHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
25095
25097
  var _b;
25096
25098
  ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
25097
25099
  ? yield adapter.lowerHand()
25098
25100
  : yield adapter.raiseHand();
25099
25101
  }),
25100
25102
  /* @conditional-compile-remove(reaction) */
25101
- onReactionClicked: (reaction) => __awaiter$g(void 0, void 0, void 0, function* () {
25103
+ onReactionClicked: (reaction) => __awaiter$h(void 0, void 0, void 0, function* () {
25102
25104
  yield adapter.onReactionClicked(reaction);
25103
25105
  }),
25104
- onSelectCamera: (deviceInfo, options) => __awaiter$g(void 0, void 0, void 0, function* () {
25106
+ onSelectCamera: (deviceInfo, options) => __awaiter$h(void 0, void 0, void 0, function* () {
25105
25107
  yield adapter.setCamera(deviceInfo, options);
25106
25108
  }),
25107
- onSelectMicrophone: (deviceInfo) => __awaiter$g(void 0, void 0, void 0, function* () {
25109
+ onSelectMicrophone: (deviceInfo) => __awaiter$h(void 0, void 0, void 0, function* () {
25108
25110
  yield adapter.setMicrophone(deviceInfo);
25109
25111
  }),
25110
- onSelectSpeaker: (deviceInfo) => __awaiter$g(void 0, void 0, void 0, function* () {
25112
+ onSelectSpeaker: (deviceInfo) => __awaiter$h(void 0, void 0, void 0, function* () {
25111
25113
  yield adapter.setSpeaker(deviceInfo);
25112
25114
  }),
25113
25115
  onStartCall: (participants, options) => {
25114
25116
  const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
25115
25117
  return adapter.startCall(rawIds, options);
25116
25118
  },
25117
- onStartScreenShare: () => __awaiter$g(void 0, void 0, void 0, function* () {
25119
+ onStartScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
25118
25120
  yield adapter.startScreenShare();
25119
25121
  }),
25120
- onStopScreenShare: () => __awaiter$g(void 0, void 0, void 0, function* () {
25122
+ onStopScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
25121
25123
  yield adapter.stopScreenShare();
25122
25124
  }),
25123
- onToggleCamera: (options) => __awaiter$g(void 0, void 0, void 0, function* () {
25125
+ onToggleCamera: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
25124
25126
  isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
25125
25127
  }),
25126
- onToggleMicrophone: () => __awaiter$g(void 0, void 0, void 0, function* () {
25128
+ onToggleMicrophone: () => __awaiter$h(void 0, void 0, void 0, function* () {
25127
25129
  var _c;
25128
25130
  return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
25129
25131
  }),
25130
- onToggleScreenShare: () => __awaiter$g(void 0, void 0, void 0, function* () {
25132
+ onToggleScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
25131
25133
  var _d;
25132
25134
  return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
25133
25135
  ? yield adapter.stopScreenShare()
25134
25136
  : yield adapter.startScreenShare();
25135
25137
  }),
25136
- onStartLocalVideo: () => __awaiter$g(void 0, void 0, void 0, function* () {
25138
+ onStartLocalVideo: () => __awaiter$h(void 0, void 0, void 0, function* () {
25137
25139
  if (adapter.getState().call) {
25138
25140
  return adapter.startCamera();
25139
25141
  }
25140
25142
  }),
25141
- onDisposeLocalStreamView: () => __awaiter$g(void 0, void 0, void 0, function* () {
25143
+ onDisposeLocalStreamView: () => __awaiter$h(void 0, void 0, void 0, function* () {
25142
25144
  return adapter.disposeLocalVideoStreamView();
25143
25145
  }),
25144
- onDisposeRemoteStreamView: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25146
+ onDisposeRemoteStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25145
25147
  return adapter.disposeStreamView(userId);
25146
25148
  }),
25147
- onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25149
+ onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25148
25150
  return adapter.disposeScreenShareStreamView(userId);
25149
25151
  }),
25150
- onDisposeRemoteVideoStreamView: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25152
+ onDisposeRemoteVideoStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25151
25153
  return adapter.disposeRemoteVideoStreamView(userId);
25152
25154
  }),
25153
25155
  /* @conditional-compile-remove(call-readiness) */
25154
- askDevicePermission: (constrain) => __awaiter$g(void 0, void 0, void 0, function* () {
25156
+ askDevicePermission: (constrain) => __awaiter$h(void 0, void 0, void 0, function* () {
25155
25157
  return adapter.askDevicePermission(constrain);
25156
25158
  }),
25157
25159
  /* @conditional-compile-remove(video-background-effects) */
25158
- onRemoveVideoBackgroundEffects: () => __awaiter$g(void 0, void 0, void 0, function* () {
25160
+ onRemoveVideoBackgroundEffects: () => __awaiter$h(void 0, void 0, void 0, function* () {
25159
25161
  return yield adapter.stopVideoBackgroundEffects();
25160
25162
  }),
25161
25163
  /* @conditional-compile-remove(video-background-effects) */
25162
- onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$g(void 0, void 0, void 0, function* () {
25164
+ onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$h(void 0, void 0, void 0, function* () {
25163
25165
  const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
25164
25166
  return yield adapter.startVideoBackgroundEffect(blurConfig);
25165
25167
  }),
25166
25168
  /* @conditional-compile-remove(video-background-effects) */
25167
- onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$g(void 0, void 0, void 0, function* () {
25169
+ onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$h(void 0, void 0, void 0, function* () {
25168
25170
  const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
25169
25171
  return yield adapter.startVideoBackgroundEffect(replacementConfig);
25170
25172
  }),
25171
25173
  /* @conditional-compile-remove(close-captions) */
25172
- onStartCaptions: (options) => __awaiter$g(void 0, void 0, void 0, function* () {
25174
+ onStartCaptions: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
25173
25175
  yield adapter.startCaptions(options);
25174
25176
  }),
25175
25177
  /* @conditional-compile-remove(close-captions) */
25176
- onStopCaptions: () => __awaiter$g(void 0, void 0, void 0, function* () {
25178
+ onStopCaptions: () => __awaiter$h(void 0, void 0, void 0, function* () {
25177
25179
  yield adapter.stopCaptions();
25178
25180
  }),
25179
25181
  /* @conditional-compile-remove(close-captions) */
25180
- onSetSpokenLanguage: (language) => __awaiter$g(void 0, void 0, void 0, function* () {
25182
+ onSetSpokenLanguage: (language) => __awaiter$h(void 0, void 0, void 0, function* () {
25181
25183
  yield adapter.setSpokenLanguage(language);
25182
25184
  }),
25183
25185
  /* @conditional-compile-remove(close-captions) */
25184
- onSetCaptionLanguage: (language) => __awaiter$g(void 0, void 0, void 0, function* () {
25186
+ onSetCaptionLanguage: (language) => __awaiter$h(void 0, void 0, void 0, function* () {
25185
25187
  yield adapter.setCaptionLanguage(language);
25186
25188
  }),
25187
25189
  /* @conditional-compile-remove(end-of-call-survey) */
25188
- onSubmitSurvey: (survey) => __awaiter$g(void 0, void 0, void 0, function* () {
25190
+ onSubmitSurvey: (survey) => __awaiter$h(void 0, void 0, void 0, function* () {
25189
25191
  return yield adapter.submitSurvey(survey);
25190
25192
  }),
25191
25193
  /* @conditional-compile-remove(spotlight) */
25192
- onStartSpotlight: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25194
+ onStartSpotlight: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25193
25195
  yield adapter.startSpotlight(userId);
25194
25196
  }),
25195
25197
  /* @conditional-compile-remove(spotlight) */
25196
- onStopSpotlight: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25198
+ onStopSpotlight: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25197
25199
  yield adapter.stopSpotlight(userId);
25198
25200
  })
25199
25201
  }));
@@ -25327,17 +25329,17 @@ const concatButtonBaseStyles = (...styles) => {
25327
25329
 
25328
25330
  // Copyright (c) Microsoft Corporation.
25329
25331
  // Licensed under the MIT License.
25330
- const icon$2 = () => React.createElement(reactIcons.MoreHorizontal20Filled, { key: 'chatOnIconKey', primaryFill: "currentColor" });
25332
+ const icon$3 = () => React.createElement(reactIcons.MoreHorizontal20Filled, { key: 'chatOnIconKey', primaryFill: "currentColor" });
25331
25333
  /**
25332
25334
  * @private
25333
25335
  */
25334
25336
  const MoreButton = (props) => {
25335
- return (React.createElement(ControlBarButton, Object.assign({}, props, { labelKey: 'optionsButtonLabelKey', showLabel: props.showLabel, onRenderOnIcon: icon$2, onRenderOffIcon: icon$2, onClick: props.onClick, "data-ui-id": props['data-ui-id'] })));
25337
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { labelKey: 'optionsButtonLabelKey', showLabel: props.showLabel, onRenderOnIcon: icon$3, onRenderOffIcon: icon$3, onClick: props.onClick, "data-ui-id": props['data-ui-id'] })));
25336
25338
  };
25337
25339
 
25338
25340
  // Copyright (c) Microsoft Corporation.
25339
25341
  // Licensed under the MIT License.
25340
- var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25342
+ var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25341
25343
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25342
25344
  return new (P || (P = Promise))(function (resolve, reject) {
25343
25345
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25365,7 +25367,7 @@ const CaptionsBannerMoreButton = (props) => {
25365
25367
  /* @conditional-compile-remove(close-captions) */
25366
25368
  const moreButtonContextualMenuItems = [];
25367
25369
  /* @conditional-compile-remove(close-captions) */
25368
- const startCaptions = React.useCallback(() => __awaiter$f(void 0, void 0, void 0, function* () {
25370
+ const startCaptions = React.useCallback(() => __awaiter$g(void 0, void 0, void 0, function* () {
25369
25371
  yield startCaptionsButtonHandlers.onStartCaptions({
25370
25372
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
25371
25373
  });
@@ -25805,7 +25807,7 @@ const isDisabled$2 = (option) => {
25805
25807
 
25806
25808
  // Copyright (c) Microsoft Corporation.
25807
25809
  // Licensed under the MIT License.
25808
- const icon$1 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlButtonParticipants' });
25810
+ const icon$2 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlButtonParticipants' });
25809
25811
  /**
25810
25812
  * @private
25811
25813
  */
@@ -25821,7 +25823,7 @@ const People = (props) => {
25821
25823
  }
25822
25824
  }, (_a = props.styles) !== null && _a !== void 0 ? _a : {}, controlButtonBaseStyle);
25823
25825
  }, [props.styles, theme.palette.neutralLight]);
25824
- return (React.createElement(ControlBarButton, Object.assign({}, props, { "data-ui-id": "call-composite-participants-button", strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon$1, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon$1, onClick: onClick, styles: styles })));
25826
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { "data-ui-id": "call-composite-participants-button", strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon$2, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon$2, onClick: onClick, styles: styles })));
25825
25827
  };
25826
25828
 
25827
25829
  // Copyright (c) Microsoft Corporation.
@@ -26438,7 +26440,7 @@ const isRoomsCallTrampoline = (adapter) => {
26438
26440
 
26439
26441
  // Copyright (c) Microsoft Corporation.
26440
26442
  // Licensed under the MIT License.
26441
- const icon = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
26443
+ const icon$1 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
26442
26444
  /**
26443
26445
  * @private
26444
26446
  */
@@ -26453,7 +26455,7 @@ const PeopleButton = (props) => {
26453
26455
  }
26454
26456
  }, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
26455
26457
  }, [props.styles, theme.palette.neutralLight]);
26456
- return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon, onClick: onClick, styles: styles })));
26458
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon$1, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon$1, onClick: onClick, styles: styles })));
26457
26459
  };
26458
26460
 
26459
26461
  // Copyright (c) Microsoft Corporation.
@@ -26472,7 +26474,7 @@ const useCallWithChatCompositeStrings = () => {
26472
26474
 
26473
26475
  // Copyright (c) Microsoft Corporation.
26474
26476
  // Licensed under the MIT License.
26475
- var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
26477
+ var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
26476
26478
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
26477
26479
  return new (P || (P = Promise))(function (resolve, reject) {
26478
26480
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -26486,7 +26488,7 @@ var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments,
26486
26488
  * @private
26487
26489
  */
26488
26490
  const DesktopMoreButton = (props) => {
26489
- var _a, _b, _c, _d, _e, _f, _g;
26491
+ var _a, _b, _c, _d, _e, _f, _g, _h;
26490
26492
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
26491
26493
  const localeStrings = useLocale();
26492
26494
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
@@ -26496,7 +26498,7 @@ const DesktopMoreButton = (props) => {
26496
26498
  /* @conditional-compile-remove(close-captions) */
26497
26499
  const startCaptionsButtonHandlers = useHandlers();
26498
26500
  /* @conditional-compile-remove(close-captions) */
26499
- const startCaptions = React.useCallback(() => __awaiter$e(void 0, void 0, void 0, function* () {
26501
+ const startCaptions = React.useCallback(() => __awaiter$f(void 0, void 0, void 0, function* () {
26500
26502
  yield startCaptionsButtonHandlers.onStartCaptions({
26501
26503
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
26502
26504
  });
@@ -26507,6 +26509,8 @@ const DesktopMoreButton = (props) => {
26507
26509
  const [focusedContentOn, setFocusedContentOn] = React.useState(false);
26508
26510
  /* @conditional-compile-remove(gallery-layouts) */
26509
26511
  const [previousLayout, setPreviousLayout] = React.useState((_a = props.userSetGalleryLayout) !== null && _a !== void 0 ? _a : 'floatingLocalVideo');
26512
+ /* @conditional-compile-remove(dtmf-dialer) */
26513
+ const [dtmfDialerChecked, setDtmfDialerChecked] = React.useState((_b = props.dtmfDialerPresent) !== null && _b !== void 0 ? _b : false);
26510
26514
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
26511
26515
  const moreButtonStrings = React.useMemo(() => ({
26512
26516
  label: localeStrings.strings.call.moreButtonCallingLabel,
@@ -26598,6 +26602,31 @@ const DesktopMoreButton = (props) => {
26598
26602
  });
26599
26603
  }
26600
26604
  }
26605
+ /* @conditional-compile-remove(dtmf-dialer) */
26606
+ const dtmfDialerScreenOption = {
26607
+ key: 'dtmfDialerScreenKey',
26608
+ itemProps: {
26609
+ styles: buttonFlyoutIncreasedSizeStyles
26610
+ },
26611
+ text: !dtmfDialerChecked
26612
+ ? localeStrings.strings.call.dtmfDialerMoreButtonLabelOn
26613
+ : localeStrings.strings.call.dtmfDialerMoreButtonLabelOff,
26614
+ onClick: () => {
26615
+ props.onSetDialpadPage && props.onSetDialpadPage();
26616
+ setDtmfDialerChecked(!dtmfDialerChecked);
26617
+ },
26618
+ iconProps: {
26619
+ iconName: 'DtmfDialpadButton',
26620
+ styles: { root: { lineHeight: 0 } }
26621
+ }
26622
+ };
26623
+ /* @conditional-compile-remove(dtmf-dialer) */
26624
+ /**
26625
+ * Only render the dtmf dialer if the dialpad for PSTN calls is not present
26626
+ */
26627
+ if (props.onSetDialpadPage && !props.onClickShowDialpad) {
26628
+ moreButtonContextualMenuItems.push(dtmfDialerScreenOption);
26629
+ }
26601
26630
  /*@conditional-compile-remove(PSTN-calls) */
26602
26631
  if (props.onClickShowDialpad) {
26603
26632
  moreButtonContextualMenuItems.push({
@@ -26758,11 +26787,11 @@ const DesktopMoreButton = (props) => {
26758
26787
  }
26759
26788
  };
26760
26789
  /* @conditional-compile-remove(large-gallery) */
26761
- (_c = (_b = galleryOptions.subMenuProps) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.push(largeGalleryOption);
26790
+ (_d = (_c = galleryOptions.subMenuProps) === null || _c === void 0 ? void 0 : _c.items) === null || _d === void 0 ? void 0 : _d.push(largeGalleryOption);
26762
26791
  /* @conditional-compile-remove(gallery-layout-composite) */
26763
- (_e = (_d = galleryOptions.subMenuProps) === null || _d === void 0 ? void 0 : _d.items) === null || _e === void 0 ? void 0 : _e.push(galleryOption);
26792
+ (_f = (_e = galleryOptions.subMenuProps) === null || _e === void 0 ? void 0 : _e.items) === null || _f === void 0 ? void 0 : _f.push(galleryOption);
26764
26793
  /* @conditional-compile-remove(overflow-top-composite) */
26765
- (_g = (_f = galleryOptions.subMenuProps) === null || _f === void 0 ? void 0 : _f.items) === null || _g === void 0 ? void 0 : _g.push(overflowGalleryOption);
26794
+ (_h = (_g = galleryOptions.subMenuProps) === null || _g === void 0 ? void 0 : _g.items) === null || _h === void 0 ? void 0 : _h.push(overflowGalleryOption);
26766
26795
  /* @conditional-compile-remove(gallery-layouts) */
26767
26796
  moreButtonContextualMenuItems.push(galleryOptions);
26768
26797
  }
@@ -26835,6 +26864,38 @@ const invisibleHiddenFocusStartPoint = {
26835
26864
  }
26836
26865
  };
26837
26866
 
26867
+ // Copyright (c) Microsoft Corporation.
26868
+ // Licensed under the MIT License.
26869
+ /* @conditional-compile-remove(dtmf-dialer) */
26870
+ /* @conditional-compile-remove(dtmf-dialer) */
26871
+ const icon = () => React.createElement(CallCompositeIcon, { iconName: 'DtmfDialpadButton' });
26872
+ /* @conditional-compile-remove(dtmf-dialer) */
26873
+ /**
26874
+ * Button for showing and hiding the dtmf dialer in the Call composite.
26875
+ * To be used only if the more button control is disabled. This button will replace
26876
+ * it in the control bar unless it is also disabled.
26877
+ * @private
26878
+ */
26879
+ const DtmfDialpadButton = (props) => {
26880
+ const { strings, onRenderOnIcon, onRenderOffIcon, onClick, displayType } = props;
26881
+ const theme = react.useTheme();
26882
+ const locale = useLocale();
26883
+ const dialpadButtonStrings = {
26884
+ label: locale.strings.call.dtmfDialerButtonLabel,
26885
+ tooltipOnContent: locale.strings.call.dtmfDialerButtonTooltipOn,
26886
+ tooltipOffContent: locale.strings.call.dtmfDialerButtonTooltipOff
26887
+ };
26888
+ const styles = React.useMemo(() => {
26889
+ var _a;
26890
+ return react.concatStyleSets({
26891
+ rootChecked: {
26892
+ background: theme.palette.neutralLight
26893
+ }
26894
+ }, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
26895
+ }, [props.styles, theme.palette.neutralLight]);
26896
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings ? strings : dialpadButtonStrings, showLabel: displayType !== 'compact', labelKey: 'dtmfDialpadButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon, onClick: onClick, styles: styles })));
26897
+ };
26898
+
26838
26899
  // Copyright (c) Microsoft Corporation.
26839
26900
  // Licensed under the MIT License.
26840
26901
  const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) => {
@@ -26978,6 +27039,12 @@ const CommonCallControlBar = (props) => {
26978
27039
  /* @conditional-compile-remove(rooms) */ !hideRaiseHandButtonInRoomsCall && (React.createElement(RaiseHand, { displayType: options.displayType, styles: commonButtonStyles,
26979
27040
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
26980
27041
  disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.microphoneButton) })),
27042
+ /* @conditional-compile-remove(dtmf-dialer) */ showDtmfDialerButton(options) &&
27043
+ props.onSetDialpadPage !== undefined && (React.createElement(DtmfDialpadButton, { styles: commonButtonStyles, displayType: options.displayType, onClick: () => {
27044
+ if (props.onSetDialpadPage !== undefined) {
27045
+ props.onSetDialpadPage();
27046
+ }
27047
+ } })),
26981
27048
  screenShareButtonIsEnabled && (React.createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
26982
27049
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
26983
27050
  disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.screenShareButton) })), (_b = customButtons['primary']) === null || _b === void 0 ? void 0 :
@@ -27001,7 +27068,11 @@ const CommonCallControlBar = (props) => {
27001
27068
  /* @conditional-compile-remove(gallery-layouts) */
27002
27069
  onUserSetGalleryLayout: props.onUserSetGalleryLayout,
27003
27070
  /* @conditional-compile-remove(gallery-layouts) */
27004
- userSetGalleryLayout: props.userSetGalleryLayout })),
27071
+ userSetGalleryLayout: props.userSetGalleryLayout,
27072
+ /* @conditional-compile-remove(dtmf-dialer) */
27073
+ dtmfDialerPresent: props.dtmfDialerPresent,
27074
+ /* @conditional-compile-remove(dtmf-dialer) */
27075
+ onSetDialpadPage: props.onSetDialpadPage })),
27005
27076
  React.createElement(EndCall, { displayType: "compact", styles: endCallButtonStyles }))))))),
27006
27077
  !props.mobileView && sideButtonsPresent && (React.createElement(react.Stack.Item, null,
27007
27078
  React.createElement("div", { ref: sidepaneControlsRef },
@@ -27116,6 +27187,15 @@ const getDesktopEndCallButtonStyles = (theme) => {
27116
27187
  return react.concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);
27117
27188
  };
27118
27189
  const isEnabled$1 = (option) => option !== false;
27190
+ /* @conditional-compile-remove(dtmf-dialer) */
27191
+ const showDtmfDialerButton = (options) => {
27192
+ if (options.moreButton === false && options.dtmfDialerButton !== false) {
27193
+ return true;
27194
+ }
27195
+ else {
27196
+ return false;
27197
+ }
27198
+ };
27119
27199
 
27120
27200
  // Copyright (c) Microsoft Corporation.
27121
27201
  // Licensed under the MIT License.
@@ -27250,7 +27330,7 @@ const themedToggleButtonStyle = (theme, checked) => {
27250
27330
 
27251
27331
  // Copyright (c) Microsoft Corporation.
27252
27332
  // Licensed under the MIT License.
27253
- var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27333
+ var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27254
27334
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27255
27335
  return new (P || (P = Promise))(function (resolve, reject) {
27256
27336
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -27489,7 +27569,7 @@ const MoreDrawer = (props) => {
27489
27569
  ? captionSettingsProp.currentCaptionLanguage
27490
27570
  : _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
27491
27571
  /* @conditional-compile-remove(close-captions) */
27492
- const onToggleChange = React.useCallback(() => __awaiter$d(void 0, void 0, void 0, function* () {
27572
+ const onToggleChange = React.useCallback(() => __awaiter$e(void 0, void 0, void 0, function* () {
27493
27573
  if (!captionSettingsProp.isCaptionsFeatureActive) {
27494
27574
  yield startCaptionsButtonHandlers.onStartCaptions({
27495
27575
  spokenLanguage: currentSpokenLanguage
@@ -28228,7 +28308,7 @@ const AddPeopleButton = (props) => {
28228
28308
 
28229
28309
  // Copyright (c) Microsoft Corporation.
28230
28310
  // Licensed under the MIT License.
28231
- var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28311
+ var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28232
28312
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28233
28313
  return new (P || (P = Promise))(function (resolve, reject) {
28234
28314
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28250,11 +28330,11 @@ const PeoplePaneContent = (props) => {
28250
28330
  return localeStrings.strings.call;
28251
28331
  };
28252
28332
  const strings = getStrings();
28253
- const removeParticipantFromCall = React.useCallback((participantId) => __awaiter$c(void 0, void 0, void 0, function* () {
28333
+ const removeParticipantFromCall = React.useCallback((participantId) => __awaiter$d(void 0, void 0, void 0, function* () {
28254
28334
  yield adapter.removeParticipant(participantId);
28255
28335
  }), [adapter]);
28256
28336
  /* @conditional-compile-remove(PSTN-calls) */
28257
- const addParticipantToCall = React.useCallback((participant, options) => __awaiter$c(void 0, void 0, void 0, function* () {
28337
+ const addParticipantToCall = React.useCallback((participant, options) => __awaiter$d(void 0, void 0, void 0, function* () {
28258
28338
  yield adapter.addParticipant(participant, options);
28259
28339
  }), [adapter]);
28260
28340
  /* @conditional-compile-remove(PSTN-calls) */
@@ -28281,7 +28361,7 @@ const PeoplePaneContent = (props) => {
28281
28361
  setDrawerMenuItems
28282
28362
  ]);
28283
28363
  const participantListProps = React.useMemo(() => {
28284
- const onRemoveAParticipant = (participantId) => __awaiter$c(void 0, void 0, void 0, function* () { return removeParticipantFromCall(participantId); });
28364
+ const onRemoveAParticipant = (participantId) => __awaiter$d(void 0, void 0, void 0, function* () { return removeParticipantFromCall(participantId); });
28285
28365
  return Object.assign(Object.assign({}, participantListDefaultProps), {
28286
28366
  // Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked
28287
28367
  onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,
@@ -28422,7 +28502,7 @@ const localVideoSelector = reselect__namespace.createSelector([callStatusSelecto
28422
28502
 
28423
28503
  // Copyright (c) Microsoft Corporation.
28424
28504
  // Licensed under the MIT License.
28425
- var __awaiter$b = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28505
+ var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28426
28506
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28427
28507
  return new (P || (P = Promise))(function (resolve, reject) {
28428
28508
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28491,7 +28571,7 @@ const VideoEffectsPaneContent = (props) => {
28491
28571
  return videoEffects;
28492
28572
  }, [strings, adapter]);
28493
28573
  /* @conditional-compile-remove(video-background-effects) */
28494
- const onEffectChange = React.useCallback((effectKey) => __awaiter$b(void 0, void 0, void 0, function* () {
28574
+ const onEffectChange = React.useCallback((effectKey) => __awaiter$c(void 0, void 0, void 0, function* () {
28495
28575
  if (effectKey === 'blur') {
28496
28576
  const blurEffect = {
28497
28577
  effectName: effectKey
@@ -29227,7 +29307,11 @@ const CallArrangement = (props) => {
29227
29307
  /* @conditional-compile-remove(gallery-layouts) */
29228
29308
  onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange,
29229
29309
  /* @conditional-compile-remove(gallery-layouts) */
29230
- userSetGalleryLayout: props.userSetGalleryLayout, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef }))))),
29310
+ userSetGalleryLayout: props.userSetGalleryLayout,
29311
+ /* @conditional-compile-remove(dtmf-dialer) */
29312
+ onSetDialpadPage: props.onSetDialpadPage,
29313
+ /* @conditional-compile-remove(dtmf-dialer) */
29314
+ dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef }))))),
29231
29315
  ((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
29232
29316
  React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
29233
29317
  /* @conditional-compile-remove(PSTN-calls) */
@@ -29727,6 +29811,106 @@ const networkReconnectTileSelector = reselect__namespace.createSelector([getUser
29727
29811
  };
29728
29812
  });
29729
29813
 
29814
+ // Copyright (c) Microsoft Corporation.
29815
+ // Licensed under the MIT License.
29816
+ /**
29817
+ * @internal
29818
+ */
29819
+ const getMinutes$1 = (time) => {
29820
+ return Math.floor(getSeconds$1(time) / 60);
29821
+ };
29822
+ /**
29823
+ * @internal
29824
+ */
29825
+ const getSeconds$1 = (time) => {
29826
+ return Math.floor(time / 1000);
29827
+ };
29828
+ /**
29829
+ * @internal
29830
+ */
29831
+ const getHours$1 = (time) => {
29832
+ return Math.floor(getMinutes$1(time) / 60);
29833
+ };
29834
+ /**
29835
+ * @internal
29836
+ */
29837
+ const getReadableTime$1 = (time) => {
29838
+ const hours = getHours$1(time);
29839
+ const readableMinutes = ('0' + (getMinutes$1(time) % 60)).slice(-2);
29840
+ const readableSeconds = ('0' + (getSeconds$1(time) % 60)).slice(-2);
29841
+ return `${hours > 0 ? hours + ':' : ''}${readableMinutes}:${readableSeconds}`;
29842
+ };
29843
+
29844
+ // Copyright (c) Microsoft Corporation.
29845
+ // Licensed under the MIT License.
29846
+ /**
29847
+ * styles for hold pane timer
29848
+ *
29849
+ * @private
29850
+ */
29851
+ const DtmfDialpadContentTimerStyles = {
29852
+ root: {
29853
+ color: 'inherit',
29854
+ fontWeight: 600,
29855
+ fontSize: _pxToRem(20),
29856
+ lineHeight: _pxToRem(28),
29857
+ margin: 'auto'
29858
+ }
29859
+ };
29860
+
29861
+ // Copyright (c) Microsoft Corporation.
29862
+ // Licensed under the MIT License.
29863
+ var __awaiter$b = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29864
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29865
+ return new (P || (P = Promise))(function (resolve, reject) {
29866
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29867
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
29868
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29869
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
29870
+ });
29871
+ };
29872
+ const DtmfDialpadPageContent = (props) => {
29873
+ var _a, _b;
29874
+ const { adapter } = props;
29875
+ const adapterState = adapter.getState();
29876
+ const theme = react.useTheme();
29877
+ const calleeId = (_a = adapterState.targetCallees) === null || _a === void 0 ? void 0 : _a[0];
29878
+ const remoteParticipants = (_b = adapterState.call) === null || _b === void 0 ? void 0 : _b.remoteParticipants;
29879
+ let calleeName;
29880
+ if (remoteParticipants) {
29881
+ calleeName = Object.values(remoteParticipants).find((p) => p.identifier === calleeId);
29882
+ }
29883
+ return (React.createElement(react.Stack, { style: { height: '100%', width: '100%', background: theme.palette.white } },
29884
+ React.createElement(react.Stack, { style: { margin: 'auto' } },
29885
+ React.createElement(DtmfDialerContentTimer, null),
29886
+ React.createElement(react.Text, null, calleeName !== 'Unnamed participant' ? calleeName : ''),
29887
+ React.createElement(Dialpad, { onSendDtmfTone: (tone) => __awaiter$b(void 0, void 0, void 0, function* () {
29888
+ /* @conditional-compile-remove(dtmf-dialer) */
29889
+ yield adapter.sendDtmfTone(tone);
29890
+ }), enableInputEditing: false }))));
29891
+ };
29892
+ const DtmfDialerContentTimer = () => {
29893
+ const [time, setTime] = React.useState(0);
29894
+ const elapsedTime = getReadableTime$1(time);
29895
+ const startTime = React.useRef(performance.now());
29896
+ React.useEffect(() => {
29897
+ const interval = setInterval(() => {
29898
+ setTime(performance.now() - startTime.current);
29899
+ }, 10);
29900
+ return () => {
29901
+ clearInterval(interval);
29902
+ };
29903
+ }, [startTime]);
29904
+ return React.createElement(react.Text, { styles: DtmfDialpadContentTimerStyles }, elapsedTime);
29905
+ };
29906
+ /**
29907
+ * @internal
29908
+ */
29909
+ const DtmfDialpadPage = (props) => {
29910
+ const adapter = useAdapter();
29911
+ return React.createElement(DtmfDialpadPageContent, { adapter: adapter, mobileView: props.mobileView });
29912
+ };
29913
+
29730
29914
  // Copyright (c) Microsoft Corporation.
29731
29915
  // Licensed under the MIT License.
29732
29916
  /**
@@ -29751,10 +29935,31 @@ const CallPage = (props) => {
29751
29935
  const errorBarProps = usePropsFor$1(ErrorBar);
29752
29936
  const mutedNotificationProps = useSelector$1(mutedNotificationSelector);
29753
29937
  const networkReconnectTileProps = useSelector$1(networkReconnectTileSelector);
29938
+ /* @conditional-compile-remove(dtmf-dialer) */
29939
+ const [dtmfDialerPresent, setDtmfDialerPresent] = React.useState(false);
29754
29940
  const strings = useLocale().strings.call;
29755
29941
  // Reduce the controls shown when mobile view is enabled.
29756
29942
  const callControlOptions = mobileView ? reduceCallControlsForMobile(options === null || options === void 0 ? void 0 : options.callControls) : options === null || options === void 0 ? void 0 : options.callControls;
29757
29943
  const drawerMenuHostId = reactHooks.useId('drawerMenuHost');
29944
+ const onRenderGalleryContentTrampoline = () => {
29945
+ /* @conditional-compile-remove(dtmf-dialer) */
29946
+ if (dtmfDialerPresent) {
29947
+ return (React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
29948
+ /* @conditional-compile-remove(capabilities) */
29949
+ capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent }));
29950
+ }
29951
+ else {
29952
+ return (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData,
29953
+ /* @conditional-compile-remove(pinned-participants) */
29954
+ remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
29955
+ /* @conditional-compile-remove(click-to-call) */
29956
+ localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
29957
+ /* @conditional-compile-remove(gallery-layouts) */
29958
+ userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
29959
+ /* @conditional-compile-remove(gallery-layouts) */
29960
+ userSetGalleryLayout: galleryLayout })));
29961
+ }
29962
+ };
29758
29963
  return (React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, mutedNotificationProps: mutedNotificationProps, callControlProps: {
29759
29964
  callInvitationURL: callInvitationURL,
29760
29965
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
@@ -29762,15 +29967,7 @@ const CallPage = (props) => {
29762
29967
  increaseFlyoutItemSize: mobileView
29763
29968
  },
29764
29969
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
29765
- onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData,
29766
- /* @conditional-compile-remove(pinned-participants) */
29767
- remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
29768
- /* @conditional-compile-remove(click-to-call) */
29769
- localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
29770
- /* @conditional-compile-remove(gallery-layouts) */
29771
- userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
29772
- /* @conditional-compile-remove(gallery-layouts) */
29773
- userSetGalleryLayout: galleryLayout }))) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
29970
+ onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
29774
29971
  /* @conditional-compile-remove(gallery-layouts) */
29775
29972
  onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition,
29776
29973
  /* @conditional-compile-remove(gallery-layouts) */
@@ -29778,7 +29975,9 @@ const CallPage = (props) => {
29778
29975
  /* @conditional-compile-remove(gallery-layouts) */
29779
29976
  userSetGalleryLayout: galleryLayout,
29780
29977
  /* @conditional-compile-remove(capabilities) */
29781
- capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps }));
29978
+ capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps,
29979
+ /* @conditional-compile-remove(dtmf-dialer) */
29980
+ onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent) }));
29782
29981
  };
29783
29982
  /**
29784
29983
  * @private