@azure/communication-react 1.12.1-alpha-202401200012 → 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 (54) hide show
  1. package/dist/communication-react.d.ts +49 -0
  2. package/dist/dist-cjs/communication-react/index.js +483 -260
  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/calling-component-bindings/src/participantListSelector.js +22 -6
  7. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  8. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +7 -1
  9. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +15 -4
  10. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  11. package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
  12. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  13. package/dist/dist-esm/react-components/src/components/ParticipantList.js +2 -1
  14. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  15. package/dist/dist-esm/react-components/src/index.d.ts +1 -0
  16. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  17. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  18. package/dist/dist-esm/react-components/src/theming/icons.js +2 -0
  19. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  20. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +17 -0
  21. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  22. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  23. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +20 -0
  24. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  25. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
  26. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +5 -1
  27. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  28. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +38 -10
  29. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  30. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.d.ts +26 -0
  31. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +59 -0
  32. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -0
  33. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.d.ts +8 -0
  34. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js +18 -0
  35. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -0
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.d.ts +17 -0
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +30 -0
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -0
  39. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -0
  40. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +22 -1
  41. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
  43. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +31 -4
  44. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  45. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.d.ts +18 -0
  46. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +41 -0
  47. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -0
  48. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +4 -0
  49. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -1
  50. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  51. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +6 -0
  52. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  53. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +5 -0
  54. 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-202401200012';
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.
@@ -6408,6 +6408,8 @@ const DEFAULT_COMPONENT_ICONS = {
6408
6408
  ParticipantItemOptions: React.createElement(React.Fragment, null),
6409
6409
  ParticipantItemOptionsHovered: React.createElement(reactIcons.MoreHorizontal20Filled, null),
6410
6410
  ParticipantItemScreenShareStart: React.createElement(reactIcons.ShareScreenStart20Filled, null),
6411
+ /* @conditional-compile-remove(spotlight) */
6412
+ ParticipantItemSpotlighted: React.createElement(reactIcons.VideoPersonStar20Filled, null),
6411
6413
  /* @conditional-compile-remove(PSTN-calls) */
6412
6414
  HoldCallContextualMenuItem: React.createElement(reactIcons.CallPause20Regular, null),
6413
6415
  /* @conditional-compile-remove(PSTN-calls) */
@@ -7658,7 +7660,7 @@ const _MentionPopover = (props) => {
7658
7660
 
7659
7661
  // Copyright (c) Microsoft Corporation.
7660
7662
  // Licensed under the MIT License.
7661
- var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7663
+ var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7662
7664
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7663
7665
  return new (P || (P = Promise))(function (resolve, reject) {
7664
7666
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7844,7 +7846,7 @@ const TextFieldWithMention = (props) => {
7844
7846
  onSuggestionSelected,
7845
7847
  updateMentionSuggestions
7846
7848
  ]);
7847
- 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* () {
7848
7850
  var _a;
7849
7851
  let suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
7850
7852
  suggestions = suggestions.filter((suggestion) => suggestion.displayText.trim() !== '');
@@ -8021,7 +8023,7 @@ const TextFieldWithMention = (props) => {
8021
8023
  });
8022
8024
  }
8023
8025
  }, [updateSelectionIndexesWithMentionIfNeeded, setSelectionStartValue, setSelectionEndValue]);
8024
- 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* () {
8025
8027
  var _b;
8026
8028
  debouncedQueryUpdate.cancel();
8027
8029
  if (event.currentTarget === null) {
@@ -10631,7 +10633,7 @@ const chatMessageActionMenuProps = (menuProps) => {
10631
10633
 
10632
10634
  // Copyright (c) Microsoft Corporation.
10633
10635
  // Licensed under the MIT License.
10634
- var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10636
+ var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10635
10637
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10636
10638
  return new (P || (P = Promise))(function (resolve, reject) {
10637
10639
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10674,7 +10676,7 @@ const _FileDownloadCards = (props) => {
10674
10676
  fileCount: `${(_c = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.filter(isFileSharingAttachment).length) !== null && _c !== void 0 ? _c : 0}`
10675
10677
  });
10676
10678
  }, [(_b = props.strings) === null || _b === void 0 ? void 0 : _b.fileCardGroupMessage, localeStrings.fileCardGroupMessage, fileMetadata, isFileSharingAttachment]);
10677
- 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* () {
10678
10680
  if (!props.downloadHandler) {
10679
10681
  window.open(file.url, '_blank', 'noopener,noreferrer');
10680
10682
  }
@@ -10726,7 +10728,7 @@ const useLocaleStringsTrampoline = () => {
10726
10728
 
10727
10729
  // Copyright (c) Microsoft Corporation.
10728
10730
  // Licensed under the MIT License.
10729
- var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10731
+ var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10730
10732
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10731
10733
  return new (P || (P = Promise))(function (resolve, reject) {
10732
10734
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10827,7 +10829,7 @@ const MessageBubble = (props) => {
10827
10829
  return undefined;
10828
10830
  }, [editedOn, message.messageType, messageStatus, strings.editedTag, strings.failToSendTag, theme]);
10829
10831
  /* @conditional-compile-remove(image-gallery) */
10830
- 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* () {
10831
10833
  if (onInlineImageClicked === undefined) {
10832
10834
  return;
10833
10835
  }
@@ -10947,7 +10949,7 @@ const ChatMessageComponentAsMessageBubble = React.memo(MessageBubble);
10947
10949
 
10948
10950
  // Copyright (c) Microsoft Corporation.
10949
10951
  // Licensed under the MIT License.
10950
- var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10952
+ var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10951
10953
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10952
10954
  return new (P || (P = Promise))(function (resolve, reject) {
10953
10955
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10980,7 +10982,7 @@ const ChatMessageComponent = (props) => {
10980
10982
  onSendMessage && onSendMessage(content !== undefined ? content : '');
10981
10983
  }, [clientMessageId, content, onSendMessage, onDeleteMessage]);
10982
10984
  if (isEditing && message.messageType === 'chat') {
10983
- 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* () {
10984
10986
  props.onUpdateMessage &&
10985
10987
  message.messageId &&
10986
10988
  (yield props.onUpdateMessage(message.messageId, text, metadata, options));
@@ -11291,7 +11293,7 @@ const ChatMessageComponentWrapper = (props) => {
11291
11293
 
11292
11294
  // Copyright (c) Microsoft Corporation.
11293
11295
  // Licensed under the MIT License.
11294
- var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11296
+ var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11295
11297
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11296
11298
  return new (P || (P = Promise))(function (resolve, reject) {
11297
11299
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -11461,7 +11463,7 @@ const MessageThreadWrapper = (props) => {
11461
11463
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
11462
11464
  const [inlineAttachments, setInlineAttachments] = React.useState({});
11463
11465
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
11464
- 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* () {
11465
11467
  if (!onFetchAttachments || attachments.length === 0) {
11466
11468
  return;
11467
11469
  }
@@ -11491,7 +11493,7 @@ const MessageThreadWrapper = (props) => {
11491
11493
  const previousMessagesRef = React.useRef([]);
11492
11494
  // an aria label for Narrator to notify when a message is deleted
11493
11495
  const [deletedMessageAriaLabel, setDeletedMessageAriaLabel] = React.useState(undefined);
11494
- 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* () {
11495
11497
  if (!onDeleteMessage) {
11496
11498
  return;
11497
11499
  }
@@ -11571,7 +11573,7 @@ const MessageThreadWrapper = (props) => {
11571
11573
  */
11572
11574
  const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
11573
11575
  // we try to only send those message status if user is scrolled to the bottom.
11574
- 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* () {
11575
11577
  if (!isAtBottomOfScrollRef.current ||
11576
11578
  !document.hasFocus() ||
11577
11579
  !messagesRef.current ||
@@ -11622,7 +11624,7 @@ const MessageThreadWrapper = (props) => {
11622
11624
  setIsAtBottomOfScrollRef(atBottom);
11623
11625
  }, [scrollToBottom, sendMessageStatusIfAtBottom]);
11624
11626
  // Infinite scrolling + threadInitialize function
11625
- 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* () {
11626
11628
  if (!isLoadingChatMessagesRef.current) {
11627
11629
  if (onLoadPreviousChatMessages) {
11628
11630
  isLoadingChatMessagesRef.current = true;
@@ -12343,7 +12345,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
12343
12345
  React.createElement(react.Stack.Item, null,
12344
12346
  React.createElement(RaisedHandIcon, null)))),
12345
12347
  callingParticipant.isScreenSharing && (React.createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
12346
- callingParticipant.isMuted && (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel }))));
12348
+ callingParticipant.isMuted && (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })),
12349
+ /* @conditional-compile-remove(spotlight) */ callingParticipant.isSpotlighted && (React.createElement(react.Icon, { iconName: "ParticipantItemSpotlighted", className: iconStyles$2 }))));
12347
12350
  }
12348
12351
  : () => null;
12349
12352
  /* @conditional-compile-remove(raise-hand) */
@@ -13742,7 +13745,7 @@ const localVideoTileContainerStyles = {
13742
13745
 
13743
13746
  // Copyright (c) Microsoft Corporation.
13744
13747
  // Licensed under the MIT License.
13745
- var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
13748
+ var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
13746
13749
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13747
13750
  return new (P || (P = Promise))(function (resolve, reject) {
13748
13751
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -13759,7 +13762,7 @@ const LocalVideoCameraCycleButton = (props) => {
13759
13762
  const { cameras, selectedCamera, onSelectCamera, label, ariaDescription, size } = props;
13760
13763
  const theme = react.useTheme();
13761
13764
  const [waitForCamera, setWaitForCamera] = React.useState(false);
13762
- 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* () {
13763
13766
  // Throttle changing camera to prevent too many callbacks
13764
13767
  if (onSelectCamera) {
13765
13768
  setWaitForCamera(true);
@@ -16865,7 +16868,7 @@ const DevicesButton = (props) => {
16865
16868
 
16866
16869
  // Copyright (c) Microsoft Corporation.
16867
16870
  // Licensed under the MIT License.
16868
- var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
16871
+ var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
16869
16872
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16870
16873
  return new (P || (P = Promise))(function (resolve, reject) {
16871
16874
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -16903,7 +16906,7 @@ const CameraButton = (props) => {
16903
16906
  const toggleAnnouncerString = React.useCallback((isCameraOn) => {
16904
16907
  setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
16905
16908
  }, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
16906
- 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* () {
16907
16910
  // Throttle click on camera, need to await onToggleCamera then allow another click
16908
16911
  if (onToggleCamera) {
16909
16912
  setWaitForCamera(true);
@@ -16917,7 +16920,7 @@ const CameraButton = (props) => {
16917
16920
  }
16918
16921
  }
16919
16922
  }), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
16920
- 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* () {
16921
16924
  // Throttle changing camera to prevent too many callbacks
16922
16925
  if (onSelectCamera) {
16923
16926
  setWaitForCamera(true);
@@ -17088,7 +17091,7 @@ const lightThemeCallButtonStyles = {
17088
17091
 
17089
17092
  // Copyright (c) Microsoft Corporation.
17090
17093
  // Licensed under the MIT License.
17091
- var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17094
+ var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17092
17095
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17093
17096
  return new (P || (P = Promise))(function (resolve, reject) {
17094
17097
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -17129,7 +17132,7 @@ const MicrophoneButton = (props) => {
17129
17132
  const toggleAnnouncerString = React.useCallback((isMicOn) => {
17130
17133
  setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
17131
17134
  }, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
17132
- 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* () {
17133
17136
  if (onToggleMicrophone) {
17134
17137
  try {
17135
17138
  yield onToggleMicrophone();
@@ -18304,7 +18307,7 @@ const dtmfFrequencies = {
18304
18307
 
18305
18308
  // Copyright (c) Microsoft Corporation.
18306
18309
  // Licensed under the MIT License.
18307
- var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18310
+ var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18308
18311
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18309
18312
  return new (P || (P = Promise))(function (resolve, reject) {
18310
18313
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -18348,10 +18351,10 @@ const DialpadButton = (props) => {
18348
18351
  const [buttonPressed, setButtonPressed] = React.useState(false);
18349
18352
  const dtmfToneSound = React.useRef(new Tone(dtmfToneAudioContext, dtmfFrequencies[digit].f1, dtmfFrequencies[digit].f2));
18350
18353
  const useLongPressProps = React.useMemo(() => ({
18351
- onClick: () => __awaiter$s(void 0, void 0, void 0, function* () {
18354
+ onClick: () => __awaiter$t(void 0, void 0, void 0, function* () {
18352
18355
  onClick(digit, index);
18353
18356
  }),
18354
- onLongPress: () => __awaiter$s(void 0, void 0, void 0, function* () {
18357
+ onLongPress: () => __awaiter$t(void 0, void 0, void 0, function* () {
18355
18358
  onLongPress(digit, index);
18356
18359
  }),
18357
18360
  touchEventsOnly: isMobile
@@ -19500,7 +19503,7 @@ const _spokenLanguageToCaptionLanguage = {
19500
19503
 
19501
19504
  // Copyright (c) Microsoft Corporation.
19502
19505
  // Licensed under the MIT License.
19503
- var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19506
+ var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19504
19507
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19505
19508
  return new (P || (P = Promise))(function (resolve, reject) {
19506
19509
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -19543,7 +19546,7 @@ const _CaptionsSettingsModal = (props) => {
19543
19546
  onDismissCaptionsSettings();
19544
19547
  }
19545
19548
  }, [onDismissCaptionsSettings]);
19546
- 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* () {
19547
19550
  const spokenLanguageCode = selectedSpokenLanguage.key.toString();
19548
19551
  const captionLanguageCode = selectedCaptionLanguage.key.toString();
19549
19552
  if (isCaptionsFeatureActive) {
@@ -19902,8 +19905,8 @@ const convertRemoteParticipantToParticipantListParticipant = (userId, displayNam
19902
19905
  /**
19903
19906
  * @private
19904
19907
  */
19905
- const memoizedConvertAllremoteParticipantsBeta = memoizeFnAll((userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers, reaction) => {
19906
- return convertRemoteParticipantToParticipantListParticipantBeta(userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers, reaction);
19908
+ const memoizedConvertAllremoteParticipantsBeta = memoizeFnAll((userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers, reaction, isSpotlighted) => {
19909
+ return convertRemoteParticipantToParticipantListParticipantBeta(userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers, reaction, isSpotlighted);
19907
19910
  });
19908
19911
  /* @conditional-compile-remove(reaction) */
19909
19912
  /**
@@ -19918,8 +19921,17 @@ const memoizedConvertToVideoTileReaction = memoizeOne((reactionState) => {
19918
19921
  : undefined;
19919
19922
  });
19920
19923
  /* @conditional-compile-remove(reaction) */
19921
- const convertRemoteParticipantToParticipantListParticipantBeta = (userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers, reaction) => {
19922
- return Object.assign(Object.assign({}, convertRemoteParticipantToParticipantListParticipant(userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers)), { reaction });
19924
+ /**
19925
+ * @private
19926
+ */
19927
+ const memoizedSpotlight = memoizeOne((spotlightedParticipants, userId) => {
19928
+ const spotlightOrder = spotlightedParticipants === null || spotlightedParticipants === void 0 ? void 0 : spotlightedParticipants.find((spotlightedParticipant) => toFlatCommunicationIdentifier(spotlightedParticipant.identifier) === userId);
19929
+ return spotlightOrder ? { spotlightOrderPosition: spotlightOrder.order } : undefined;
19930
+ });
19931
+ /* @conditional-compile-remove(reaction) */
19932
+ const convertRemoteParticipantToParticipantListParticipantBeta = (userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers, reaction, isSpotlighted) => {
19933
+ return Object.assign(Object.assign({}, convertRemoteParticipantToParticipantListParticipant(userId, displayName, state, isMuted, isScreenSharing, isSpeaking, raisedHand, localUserCanRemoveOthers)), { reaction,
19934
+ isSpotlighted });
19923
19935
  };
19924
19936
 
19925
19937
  // Copyright (c) Microsoft Corporation.
@@ -20152,7 +20164,7 @@ const updateUserDisplayNamesTrampoline$2 = (remoteParticipants) => {
20152
20164
 
20153
20165
  // Copyright (c) Microsoft Corporation.
20154
20166
  // Licensed under the MIT License.
20155
- const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipants, localUserCanRemoveOthers, isHideAttendeeNamesEnabled, localUserRole) => {
20167
+ const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipants, localUserCanRemoveOthers, isHideAttendeeNamesEnabled, localUserRole, spotlightedParticipants) => {
20156
20168
  const conversionCallback = (memoizeFn) => {
20157
20169
  return (remoteParticipants
20158
20170
  // Filter out MicrosoftBot participants
@@ -20179,11 +20191,15 @@ const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipan
20179
20191
  displayName = maskDisplayNameWithRole(displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);
20180
20192
  /* @conditional-compile-remove(reaction) */
20181
20193
  const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);
20194
+ /* @conditional-compile-remove(spotlight) */
20195
+ const spotlight = memoizedSpotlight(spotlightedParticipants, toFlatCommunicationIdentifier(participant.identifier));
20182
20196
  return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking,
20183
20197
  /* @conditional-compile-remove(raise-hand) */
20184
20198
  participant.raisedHand, localUserCanRemoveOthers,
20185
20199
  /* @conditional-compile-remove(reaction) */
20186
- remoteParticipantReaction);
20200
+ remoteParticipantReaction,
20201
+ /* @conditional-compile-remove(spotlight) */
20202
+ spotlight);
20187
20203
  })
20188
20204
  .sort((a, b) => {
20189
20205
  var _a, _b;
@@ -20220,21 +20236,27 @@ const participantListSelector = reselect.createSelector([
20220
20236
  /* @conditional-compile-remove(hide-attendee-name) */
20221
20237
  isHideAttendeeNamesEnabled,
20222
20238
  /* @conditional-compile-remove(reaction) */
20223
- getLocalParticipantReactionState
20239
+ getLocalParticipantReactionState,
20240
+ /* @conditional-compile-remove(spotlight) */
20241
+ getSpotlightedParticipants
20224
20242
  ], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted,
20225
20243
  /* @conditional-compile-remove(raise-hand) */
20226
20244
  raisedHand, role, partitipantCount,
20227
20245
  /* @conditional-compile-remove(hide-attendee-name) */
20228
20246
  isHideAttendeeNamesEnabled,
20229
20247
  /* @conditional-compile-remove(reaction) */
20230
- localParticipantReactionState) => {
20248
+ localParticipantReactionState,
20249
+ /* @conditional-compile-remove(spotlight) */
20250
+ spotlightedParticipants) => {
20231
20251
  const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);
20232
20252
  const participants = remoteParticipants
20233
20253
  ? convertRemoteParticipantsToParticipantListParticipants(updateUserDisplayNamesTrampoline$1(Object.values(remoteParticipants)), localUserCanRemoveOthers,
20234
20254
  /* @conditional-compile-remove(hide-attendee-name) */
20235
20255
  isHideAttendeeNamesEnabled,
20236
20256
  /* @conditional-compile-remove(hide-attendee-name) */
20237
- role)
20257
+ role,
20258
+ /* @conditional-compile-remove(spotlight) */
20259
+ spotlightedParticipants)
20238
20260
  : [];
20239
20261
  /* @conditional-compile-remove(reaction) */
20240
20262
  const localParticipantReaction = memoizedConvertToVideoTileReaction(localParticipantReactionState);
@@ -20249,7 +20271,9 @@ localParticipantReactionState) => {
20249
20271
  // Local participant can never remove themselves.
20250
20272
  isRemovable: false,
20251
20273
  /* @conditional-compile-remove(reaction) */
20252
- reaction: localParticipantReaction
20274
+ reaction: localParticipantReaction,
20275
+ /* @conditional-compile-remove(spotlight) */
20276
+ isSpotlighted: memoizedSpotlight(spotlightedParticipants, userId)
20253
20277
  });
20254
20278
  /* @conditional-compile-remove(total-participant-count) */
20255
20279
  const totalParticipantCount = partitipantCount;
@@ -20610,7 +20634,7 @@ const findConditionalCompiledSelector = (component) => {
20610
20634
 
20611
20635
  // Copyright (c) Microsoft Corporation.
20612
20636
  // Licensed under the MIT License.
20613
- var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
20637
+ var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
20614
20638
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
20615
20639
  return new (P || (P = Promise))(function (resolve, reject) {
20616
20640
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -20633,35 +20657,35 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
20633
20657
  let messageIterator = undefined;
20634
20658
  let readReceiptIterator = undefined;
20635
20659
  return {
20636
- 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* () {
20637
20661
  const sendMessageRequest = {
20638
20662
  content,
20639
20663
  senderDisplayName: chatClient.getState().displayName
20640
20664
  };
20641
20665
  yield chatThreadClient.sendMessage(sendMessageRequest, options);
20642
20666
  }),
20643
- 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* () {
20644
20668
  const updatedMetadata = (options === null || options === void 0 ? void 0 : options.metadata) ? Object.assign({}, options.metadata) : {};
20645
20669
  updatedMetadata.fileSharingMetadata = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachmentMetadata) || []);
20646
20670
  yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
20647
20671
  }),
20648
- onDeleteMessage: (messageId) => __awaiter$q(void 0, void 0, void 0, function* () {
20672
+ onDeleteMessage: (messageId) => __awaiter$r(void 0, void 0, void 0, function* () {
20649
20673
  yield chatThreadClient.deleteMessage(messageId);
20650
20674
  }),
20651
20675
  // This handler is designed for chatThread to consume
20652
- onMessageSeen: (chatMessageId) => __awaiter$q(void 0, void 0, void 0, function* () {
20676
+ onMessageSeen: (chatMessageId) => __awaiter$r(void 0, void 0, void 0, function* () {
20653
20677
  yield chatThreadClient.sendReadReceipt({ chatMessageId });
20654
20678
  }),
20655
- onTyping: () => __awaiter$q(void 0, void 0, void 0, function* () {
20679
+ onTyping: () => __awaiter$r(void 0, void 0, void 0, function* () {
20656
20680
  yield chatThreadClient.sendTypingNotification();
20657
20681
  }),
20658
- onRemoveParticipant: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
20682
+ onRemoveParticipant: (userId) => __awaiter$r(void 0, void 0, void 0, function* () {
20659
20683
  yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
20660
20684
  }),
20661
- updateThreadTopicName: (topicName) => __awaiter$q(void 0, void 0, void 0, function* () {
20685
+ updateThreadTopicName: (topicName) => __awaiter$r(void 0, void 0, void 0, function* () {
20662
20686
  yield chatThreadClient.updateTopic(topicName);
20663
20687
  }),
20664
- onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$q(void 0, void 0, void 0, function* () {
20688
+ onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$r(void 0, void 0, void 0, function* () {
20665
20689
  var _a, _b, _c;
20666
20690
  if (messageIterator === undefined) {
20667
20691
  // Lazy definition so that errors in the method call are reported correctly.
@@ -21570,7 +21594,7 @@ const chatStatefulLogger = logger.createClientLogger('communication-react:chat-s
21570
21594
 
21571
21595
  // Copyright (c) Microsoft Corporation.
21572
21596
  // Licensed under the MIT License.
21573
- var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21597
+ var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21574
21598
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21575
21599
  return new (P || (P = Promise))(function (resolve, reject) {
21576
21600
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -21845,7 +21869,7 @@ let ChatContext$1 = class ChatContext {
21845
21869
  * @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
21846
21870
  */
21847
21871
  withAsyncErrorTeedToState(f, target) {
21848
- return (...args) => __awaiter$p(this, void 0, void 0, function* () {
21872
+ return (...args) => __awaiter$q(this, void 0, void 0, function* () {
21849
21873
  try {
21850
21874
  return yield f(...args);
21851
21875
  }
@@ -21957,7 +21981,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
21957
21981
 
21958
21982
  // Copyright (c) Microsoft Corporation.
21959
21983
  // Licensed under the MIT License.
21960
- var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21984
+ var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21961
21985
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21962
21986
  return new (P || (P = Promise))(function (resolve, reject) {
21963
21987
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22046,7 +22070,7 @@ class EventSubscriber {
22046
22070
  };
22047
22071
  // This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.
22048
22072
  // Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.
22049
- 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* () {
22050
22074
  var _a, e_1, _b, _c;
22051
22075
  try {
22052
22076
  for (var _d = true, _e = __asyncValues$1(this.chatClient
@@ -22140,7 +22164,7 @@ class EventSubscriber {
22140
22164
 
22141
22165
  // Copyright (c) Microsoft Corporation.
22142
22166
  // Licensed under the MIT License.
22143
- var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22167
+ var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22144
22168
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22145
22169
  return new (P || (P = Promise))(function (resolve, reject) {
22146
22170
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22162,7 +22186,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
22162
22186
  const threadsIterator = iteratorCreator(...args);
22163
22187
  return {
22164
22188
  next() {
22165
- return __awaiter$n(this, void 0, void 0, function* () {
22189
+ return __awaiter$o(this, void 0, void 0, function* () {
22166
22190
  const result = yield threadsIterator.next();
22167
22191
  if (!result.done && result.value) {
22168
22192
  decorateFn(result.value, context);
@@ -22177,7 +22201,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
22177
22201
  const pages = threadsIterator.byPage(settings);
22178
22202
  return {
22179
22203
  next() {
22180
- return __awaiter$n(this, void 0, void 0, function* () {
22204
+ return __awaiter$o(this, void 0, void 0, function* () {
22181
22205
  const result = yield pages.next();
22182
22206
  const page = result.value;
22183
22207
  if (!result.done && result.value) {
@@ -22264,7 +22288,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
22264
22288
 
22265
22289
  // Copyright (c) Microsoft Corporation.
22266
22290
  // Licensed under the MIT License.
22267
- var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22291
+ var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22268
22292
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22269
22293
  return new (P || (P = Promise))(function (resolve, reject) {
22270
22294
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22283,14 +22307,14 @@ class ProxyChatThreadClient {
22283
22307
  return createDecoratedListMessages(chatThreadClient, this._context);
22284
22308
  }
22285
22309
  case 'getMessage': {
22286
- 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* () {
22287
22311
  const message = yield chatThreadClient.getMessage(...args);
22288
22312
  this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
22289
22313
  return message;
22290
22314
  }), 'ChatThreadClient.getMessage');
22291
22315
  }
22292
22316
  case 'sendMessage': {
22293
- 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* () {
22294
22318
  var _a;
22295
22319
  // Retry logic?
22296
22320
  const [request, options] = args;
@@ -22331,7 +22355,7 @@ class ProxyChatThreadClient {
22331
22355
  }), 'ChatThreadClient.sendMessage');
22332
22356
  }
22333
22357
  case 'addParticipants': {
22334
- 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* () {
22335
22359
  const result = yield chatThreadClient.addParticipants(...args);
22336
22360
  const [addRequest] = args;
22337
22361
  const participantsToAdd = addRequest.participants;
@@ -22340,7 +22364,7 @@ class ProxyChatThreadClient {
22340
22364
  }), 'ChatThreadClient.addParticipants');
22341
22365
  }
22342
22366
  case 'deleteMessage': {
22343
- 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* () {
22344
22368
  // DeleteMessage is able to either delete local one(for failed message) or synced message
22345
22369
  const [messageId] = args;
22346
22370
  if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
@@ -22358,12 +22382,12 @@ class ProxyChatThreadClient {
22358
22382
  return createDecoratedListReadReceipts(chatThreadClient, this._context);
22359
22383
  }
22360
22384
  case 'sendTypingNotification': {
22361
- 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* () {
22362
22386
  return yield chatThreadClient.sendTypingNotification(...args);
22363
22387
  }), 'ChatThreadClient.sendTypingNotification');
22364
22388
  }
22365
22389
  case 'removeParticipant': {
22366
- 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* () {
22367
22391
  const result = yield chatThreadClient.removeParticipant(...args);
22368
22392
  const [removeIdentifier] = args;
22369
22393
  this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
@@ -22371,7 +22395,7 @@ class ProxyChatThreadClient {
22371
22395
  }), 'ChatThreadClient.removeParticipant');
22372
22396
  }
22373
22397
  case 'updateMessage': {
22374
- 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* () {
22375
22399
  const result = yield chatThreadClient.updateMessage(...args);
22376
22400
  const [messageId, updateOption] = args;
22377
22401
  this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
@@ -22379,7 +22403,7 @@ class ProxyChatThreadClient {
22379
22403
  }), 'ChatThreadClient.updateMessage');
22380
22404
  }
22381
22405
  case 'updateTopic': {
22382
- 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* () {
22383
22407
  const result = yield chatThreadClient.updateTopic(...args);
22384
22408
  const [topic] = args;
22385
22409
  this._context.updateThreadTopic(chatThreadClient.threadId, topic);
@@ -22387,7 +22411,7 @@ class ProxyChatThreadClient {
22387
22411
  }), 'ChatThreadClient.updateTopic');
22388
22412
  }
22389
22413
  case 'getProperties': {
22390
- 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* () {
22391
22415
  const result = yield chatThreadClient.getProperties(...args);
22392
22416
  this._context.updateThread(chatThreadClient.threadId, result);
22393
22417
  return result;
@@ -22425,7 +22449,7 @@ const createDecoratedListThreads = (chatClient, context) => {
22425
22449
 
22426
22450
  // Copyright (c) Microsoft Corporation.
22427
22451
  // Licensed under the MIT License.
22428
- var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22452
+ var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22429
22453
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22430
22454
  return new (P || (P = Promise))(function (resolve, reject) {
22431
22455
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22444,7 +22468,7 @@ const proxyChatClient = {
22444
22468
  switch (prop) {
22445
22469
  case 'createChatThread': {
22446
22470
  return context.withAsyncErrorTeedToState(function (...args) {
22447
- return __awaiter$l(this, void 0, void 0, function* () {
22471
+ return __awaiter$m(this, void 0, void 0, function* () {
22448
22472
  const result = yield chatClient.createChatThread(...args);
22449
22473
  const thread = result.chatThread;
22450
22474
  if (thread) {
@@ -22457,7 +22481,7 @@ const proxyChatClient = {
22457
22481
  }
22458
22482
  case 'deleteChatThread': {
22459
22483
  return context.withAsyncErrorTeedToState(function (...args) {
22460
- return __awaiter$l(this, void 0, void 0, function* () {
22484
+ return __awaiter$m(this, void 0, void 0, function* () {
22461
22485
  const result = yield chatClient.deleteChatThread(...args);
22462
22486
  context.deleteThread(args[0]);
22463
22487
  return result;
@@ -22477,7 +22501,7 @@ const proxyChatClient = {
22477
22501
  }
22478
22502
  case 'startRealtimeNotifications': {
22479
22503
  return context.withAsyncErrorTeedToState(function (...args) {
22480
- return __awaiter$l(this, void 0, void 0, function* () {
22504
+ return __awaiter$m(this, void 0, void 0, function* () {
22481
22505
  const ret = yield chatClient.startRealtimeNotifications(...args);
22482
22506
  if (!receiver.eventSubscriber) {
22483
22507
  receiver.eventSubscriber = new EventSubscriber(chatClient, context);
@@ -22488,7 +22512,7 @@ const proxyChatClient = {
22488
22512
  }
22489
22513
  case 'stopRealtimeNotifications': {
22490
22514
  return context.withAsyncErrorTeedToState(function (...args) {
22491
- return __awaiter$l(this, void 0, void 0, function* () {
22515
+ return __awaiter$m(this, void 0, void 0, function* () {
22492
22516
  const ret = yield chatClient.stopRealtimeNotifications(...args);
22493
22517
  if (receiver.eventSubscriber) {
22494
22518
  receiver.eventSubscriber.unsubscribe();
@@ -22682,7 +22706,9 @@ const COMPOSITE_ONLY_ICONS = {
22682
22706
  /* @conditional-compile-remove(gallery-layouts) */
22683
22707
  LargeGalleryLayout: React.createElement(reactIcons.Table20Regular, null),
22684
22708
  /* @conditional-compile-remove(control-bar-button-injection) */
22685
- 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)
22686
22712
  };
22687
22713
  /**
22688
22714
  * The default set of icons that are available to used in the Composites.
@@ -22715,7 +22741,7 @@ const CallCompositeIcon = (props) => (React.createElement(react.FontIcon, Object
22715
22741
  */
22716
22742
  const CallWithChatCompositeIcon = (props) => (React.createElement(react.FontIcon, Object.assign({}, props)));
22717
22743
 
22718
- 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};
22719
22745
 
22720
22746
  // Copyright (c) Microsoft Corporation.
22721
22747
  // Licensed under the MIT License.
@@ -22972,7 +22998,7 @@ const convertObservableFileUploadToFileUploadsUiState = (fileUploads) => {
22972
22998
 
22973
22999
  // Copyright (c) Microsoft Corporation.
22974
23000
  // Licensed under the MIT License.
22975
- var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23001
+ var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22976
23002
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22977
23003
  return new (P || (P = Promise))(function (resolve, reject) {
22978
23004
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23107,9 +23133,9 @@ class AzureCommunicationChatAdapter {
23107
23133
  this.unsubscribeAllEvents();
23108
23134
  }
23109
23135
  fetchInitialData() {
23110
- return __awaiter$k(this, void 0, void 0, function* () {
23136
+ return __awaiter$l(this, void 0, void 0, function* () {
23111
23137
  // If get properties fails we dont want to try to get the participants after.
23112
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$k(this, void 0, void 0, function* () {
23138
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$l(this, void 0, void 0, function* () {
23113
23139
  var _a, e_1, _b, _c;
23114
23140
  yield this.chatThreadClient.getProperties();
23115
23141
  try {
@@ -23145,8 +23171,8 @@ class AzureCommunicationChatAdapter {
23145
23171
  this.context.offStateChange(handler);
23146
23172
  }
23147
23173
  sendMessage(content, options = {}) {
23148
- return __awaiter$k(this, void 0, void 0, function* () {
23149
- 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* () {
23150
23176
  /* @conditional-compile-remove(file-sharing) */
23151
23177
  options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
23152
23178
  /* @conditional-compile-remove(file-sharing) */
@@ -23163,43 +23189,43 @@ class AzureCommunicationChatAdapter {
23163
23189
  });
23164
23190
  }
23165
23191
  sendReadReceipt(chatMessageId) {
23166
- return __awaiter$k(this, void 0, void 0, function* () {
23167
- 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* () {
23168
23194
  yield this.handlers.onMessageSeen(chatMessageId);
23169
23195
  }));
23170
23196
  });
23171
23197
  }
23172
23198
  sendTypingIndicator() {
23173
- return __awaiter$k(this, void 0, void 0, function* () {
23174
- 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* () {
23175
23201
  yield this.handlers.onTyping();
23176
23202
  }));
23177
23203
  });
23178
23204
  }
23179
23205
  removeParticipant(userId) {
23180
- return __awaiter$k(this, void 0, void 0, function* () {
23181
- 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* () {
23182
23208
  yield this.handlers.onRemoveParticipant(userId);
23183
23209
  }));
23184
23210
  });
23185
23211
  }
23186
23212
  setTopic(topicName) {
23187
- return __awaiter$k(this, void 0, void 0, function* () {
23188
- 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* () {
23189
23215
  yield this.handlers.updateThreadTopicName(topicName);
23190
23216
  }));
23191
23217
  });
23192
23218
  }
23193
23219
  loadPreviousChatMessages(messagesToLoad) {
23194
- return __awaiter$k(this, void 0, void 0, function* () {
23195
- 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* () {
23196
23222
  return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
23197
23223
  }));
23198
23224
  });
23199
23225
  }
23200
23226
  updateMessage(messageId, content, metadata, options) {
23201
- return __awaiter$k(this, void 0, void 0, function* () {
23202
- 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* () {
23203
23229
  /* @conditional-compile-remove(file-sharing) */
23204
23230
  const updatedOptions = options ? { attachmentMetadata: options.attachmentMetadata, metadata: metadata } : {};
23205
23231
  /* @conditional-compile-remove(file-sharing) */
@@ -23208,8 +23234,8 @@ class AzureCommunicationChatAdapter {
23208
23234
  });
23209
23235
  }
23210
23236
  deleteMessage(messageId) {
23211
- return __awaiter$k(this, void 0, void 0, function* () {
23212
- 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* () {
23213
23239
  return yield this.handlers.onDeleteMessage(messageId);
23214
23240
  }));
23215
23241
  });
@@ -23244,8 +23270,8 @@ class AzureCommunicationChatAdapter {
23244
23270
  }
23245
23271
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
23246
23272
  downloadAttachments(options) {
23247
- return __awaiter$k(this, void 0, void 0, function* () {
23248
- 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* () {
23249
23275
  if (this.credential === undefined) {
23250
23276
  throw new ChatError('ChatThreadClient.getMessage', new Error('AccessToken is null'));
23251
23277
  }
@@ -23259,9 +23285,9 @@ class AzureCommunicationChatAdapter {
23259
23285
  }
23260
23286
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
23261
23287
  downloadAuthenticatedFile(accessToken, options) {
23262
- return __awaiter$k(this, void 0, void 0, function* () {
23288
+ return __awaiter$l(this, void 0, void 0, function* () {
23263
23289
  function fetchWithAuthentication(url, token) {
23264
- return __awaiter$k(this, void 0, void 0, function* () {
23290
+ return __awaiter$l(this, void 0, void 0, function* () {
23265
23291
  const headers = new Headers();
23266
23292
  headers.append('Authorization', `Bearer ${token}`);
23267
23293
  try {
@@ -23353,7 +23379,7 @@ class AzureCommunicationChatAdapter {
23353
23379
  this.emitter.off(event, listener);
23354
23380
  }
23355
23381
  asyncTeeErrorToEventEmitter(f) {
23356
- return __awaiter$k(this, void 0, void 0, function* () {
23382
+ return __awaiter$l(this, void 0, void 0, function* () {
23357
23383
  try {
23358
23384
  return yield f();
23359
23385
  }
@@ -23403,7 +23429,7 @@ const convertEventType = (type) => {
23403
23429
  *
23404
23430
  * @public
23405
23431
  */
23406
- 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* () {
23407
23433
  return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);
23408
23434
  });
23409
23435
  /**
@@ -23411,7 +23437,7 @@ const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, di
23411
23437
  *
23412
23438
  * @internal
23413
23439
  */
23414
- 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* () {
23415
23441
  if (!_isValidIdentifier(userId)) {
23416
23442
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
23417
23443
  }
@@ -23480,7 +23506,7 @@ beforeDispose) => {
23480
23506
  if (!credential || !displayName || !endpoint || !threadId || !userId) {
23481
23507
  return;
23482
23508
  }
23483
- (() => __awaiter$k(void 0, void 0, void 0, function* () {
23509
+ (() => __awaiter$l(void 0, void 0, void 0, function* () {
23484
23510
  if (adapterRef.current) {
23485
23511
  // Dispose the old adapter when a new one is created.
23486
23512
  //
@@ -23512,7 +23538,7 @@ beforeDispose) => {
23512
23538
  // Dispose any existing adapter when the component unmounts.
23513
23539
  React.useEffect(() => {
23514
23540
  return () => {
23515
- (() => __awaiter$k(void 0, void 0, void 0, function* () {
23541
+ (() => __awaiter$l(void 0, void 0, void 0, function* () {
23516
23542
  if (adapterRef.current) {
23517
23543
  if (beforeDisposeRef.current) {
23518
23544
  yield beforeDisposeRef.current(adapterRef.current);
@@ -23536,7 +23562,7 @@ beforeDispose) => {
23536
23562
  function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient,
23537
23563
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
23538
23564
  options) {
23539
- return __awaiter$k(this, void 0, void 0, function* () {
23565
+ return __awaiter$l(this, void 0, void 0, function* () {
23540
23566
  return new AzureCommunicationChatAdapter(chatClient, chatThreadClient,
23541
23567
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options);
23542
23568
  });
@@ -23770,7 +23796,7 @@ const sendboxContainerStyles = {
23770
23796
 
23771
23797
  // Copyright (c) Microsoft Corporation.
23772
23798
  // Licensed under the MIT License.
23773
- var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23799
+ var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23774
23800
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23775
23801
  return new (P || (P = Promise))(function (resolve, reject) {
23776
23802
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23791,7 +23817,7 @@ const AvatarPersona = (props) => {
23791
23817
  const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
23792
23818
  const [data, setData] = React.useState();
23793
23819
  React.useEffect(() => {
23794
- (() => __awaiter$j(void 0, void 0, void 0, function* () {
23820
+ (() => __awaiter$k(void 0, void 0, void 0, function* () {
23795
23821
  if (dataProvider && userId) {
23796
23822
  const newData = yield dataProvider(userId);
23797
23823
  if (avatarDeepDifferenceCheck(data, newData)) {
@@ -24208,7 +24234,7 @@ const FileDownloadErrorBar = (props) => {
24208
24234
 
24209
24235
  // Copyright (c) Microsoft Corporation.
24210
24236
  // Licensed under the MIT License.
24211
- var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24237
+ var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24212
24238
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24213
24239
  return new (P || (P = Promise))(function (resolve, reject) {
24214
24240
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24235,7 +24261,7 @@ const ChatScreen = (props) => {
24235
24261
  const theme = useTheme();
24236
24262
  React.useEffect(() => {
24237
24263
  // Initial data should be always fetched by the composite(or external caller) instead of the adapter
24238
- const fetchData = () => __awaiter$i(void 0, void 0, void 0, function* () {
24264
+ const fetchData = () => __awaiter$j(void 0, void 0, void 0, function* () {
24239
24265
  // Fetch initial data for adapter
24240
24266
  yield adapter.fetchInitialData();
24241
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.
@@ -24275,7 +24301,7 @@ const ChatScreen = (props) => {
24275
24301
  setDownloadErrorMessage(errorMessage);
24276
24302
  } })), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
24277
24303
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
24278
- 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* () {
24279
24305
  const entry = {};
24280
24306
  attachment.forEach((target) => {
24281
24307
  if (target.attachmentType === 'inlineImage' && target.previewUrl) {
@@ -24286,7 +24312,7 @@ const ChatScreen = (props) => {
24286
24312
  return blob;
24287
24313
  }), [adapter]);
24288
24314
  /* @conditional-compile-remove(image-gallery) */
24289
- 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* () {
24290
24316
  var _a, _b;
24291
24317
  const messages = (_a = messageThreadProps.messages) === null || _a === void 0 ? void 0 : _a.filter((message) => {
24292
24318
  return message.messageId === messageId;
@@ -24583,7 +24609,7 @@ const END_CALL_PAGES = [
24583
24609
 
24584
24610
  // Copyright (c) Microsoft Corporation.
24585
24611
  // Licensed under the MIT License.
24586
- var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24612
+ var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24587
24613
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24588
24614
  return new (P || (P = Promise))(function (resolve, reject) {
24589
24615
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24906,7 +24932,7 @@ const isDisabled$4 = (option) => {
24906
24932
  /**
24907
24933
  * @returns Permissions state for the camera.
24908
24934
  */
24909
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0, void 0, function* () {
24935
+ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$i(void 0, void 0, void 0, function* () {
24910
24936
  try {
24911
24937
  return (yield navigator.permissions.query({ name: 'camera' })).state;
24912
24938
  }
@@ -24919,7 +24945,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0
24919
24945
  /**
24920
24946
  * @returns Permissions state for the microphone.
24921
24947
  */
24922
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$h(void 0, void 0, void 0, function* () {
24948
+ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$i(void 0, void 0, void 0, function* () {
24923
24949
  try {
24924
24950
  return (yield navigator.permissions.query({ name: 'microphone' })).state;
24925
24951
  }
@@ -24936,7 +24962,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$h(void 0, vo
24936
24962
  * If permission API is not supported on this browser, permission state is set to unsupported.
24937
24963
  * @private
24938
24964
  */
24939
- 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* () {
24940
24966
  const [cameraResult, microphoneResult] = yield Promise.all([
24941
24967
  queryCameraPermissionFromPermissionsAPI(),
24942
24968
  queryMicrophonePermissionFromPermissionsAPI()
@@ -25014,7 +25040,7 @@ const getSelectedCameraFromAdapterState = (state) => state.devices.selectedCamer
25014
25040
 
25015
25041
  // Copyright (c) Microsoft Corporation.
25016
25042
  // Licensed under the MIT License.
25017
- var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25043
+ var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25018
25044
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25019
25045
  return new (P || (P = Promise))(function (resolve, reject) {
25020
25046
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25033,143 +25059,143 @@ _component) => {
25033
25059
  return createCompositeHandlers(useAdapter());
25034
25060
  };
25035
25061
  const createCompositeHandlers = memoizeOne((adapter) => ({
25036
- onCreateLocalStreamView: (options) => __awaiter$g(void 0, void 0, void 0, function* () {
25062
+ onCreateLocalStreamView: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
25037
25063
  return yield adapter.createStreamView(undefined, options);
25038
25064
  }),
25039
- 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* () {
25040
25066
  return yield adapter.createStreamView(userId, options);
25041
25067
  }),
25042
- onHangUp: (forEveryone) => __awaiter$g(void 0, void 0, void 0, function* () {
25068
+ onHangUp: (forEveryone) => __awaiter$h(void 0, void 0, void 0, function* () {
25043
25069
  yield adapter.leaveCall(forEveryone);
25044
25070
  }),
25045
25071
  /* @conditional-compile-remove(PSTN-calls) */
25046
- onToggleHold: () => __awaiter$g(void 0, void 0, void 0, function* () {
25072
+ onToggleHold: () => __awaiter$h(void 0, void 0, void 0, function* () {
25047
25073
  var _a;
25048
25074
  return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
25049
25075
  }),
25050
25076
  /* @conditional-compile-remove(PSTN-calls) */
25051
- 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* () {
25052
25078
  return yield adapter.addParticipant(participant, options);
25053
25079
  }),
25054
25080
  /* @conditional-compile-remove(PSTN-calls) */
25055
- onSendDtmfTone: (dtmfTone) => __awaiter$g(void 0, void 0, void 0, function* () {
25081
+ onSendDtmfTone: (dtmfTone) => __awaiter$h(void 0, void 0, void 0, function* () {
25056
25082
  yield adapter.sendDtmfTone(dtmfTone);
25057
25083
  }),
25058
- onRemoveParticipant: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25084
+ onRemoveParticipant: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25059
25085
  yield adapter.removeParticipant(userId);
25060
25086
  }),
25061
25087
  /* @conditional-compile-remove(raise-hand) */
25062
- onRaiseHand: () => __awaiter$g(void 0, void 0, void 0, function* () {
25088
+ onRaiseHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
25063
25089
  yield adapter.raiseHand();
25064
25090
  }),
25065
25091
  /* @conditional-compile-remove(raise-hand) */
25066
- onLowerHand: () => __awaiter$g(void 0, void 0, void 0, function* () {
25092
+ onLowerHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
25067
25093
  yield adapter.lowerHand();
25068
25094
  }),
25069
25095
  /* @conditional-compile-remove(raise-hand) */
25070
- onToggleRaiseHand: () => __awaiter$g(void 0, void 0, void 0, function* () {
25096
+ onToggleRaiseHand: () => __awaiter$h(void 0, void 0, void 0, function* () {
25071
25097
  var _b;
25072
25098
  ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
25073
25099
  ? yield adapter.lowerHand()
25074
25100
  : yield adapter.raiseHand();
25075
25101
  }),
25076
25102
  /* @conditional-compile-remove(reaction) */
25077
- onReactionClicked: (reaction) => __awaiter$g(void 0, void 0, void 0, function* () {
25103
+ onReactionClicked: (reaction) => __awaiter$h(void 0, void 0, void 0, function* () {
25078
25104
  yield adapter.onReactionClicked(reaction);
25079
25105
  }),
25080
- 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* () {
25081
25107
  yield adapter.setCamera(deviceInfo, options);
25082
25108
  }),
25083
- onSelectMicrophone: (deviceInfo) => __awaiter$g(void 0, void 0, void 0, function* () {
25109
+ onSelectMicrophone: (deviceInfo) => __awaiter$h(void 0, void 0, void 0, function* () {
25084
25110
  yield adapter.setMicrophone(deviceInfo);
25085
25111
  }),
25086
- onSelectSpeaker: (deviceInfo) => __awaiter$g(void 0, void 0, void 0, function* () {
25112
+ onSelectSpeaker: (deviceInfo) => __awaiter$h(void 0, void 0, void 0, function* () {
25087
25113
  yield adapter.setSpeaker(deviceInfo);
25088
25114
  }),
25089
25115
  onStartCall: (participants, options) => {
25090
25116
  const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
25091
25117
  return adapter.startCall(rawIds, options);
25092
25118
  },
25093
- onStartScreenShare: () => __awaiter$g(void 0, void 0, void 0, function* () {
25119
+ onStartScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
25094
25120
  yield adapter.startScreenShare();
25095
25121
  }),
25096
- onStopScreenShare: () => __awaiter$g(void 0, void 0, void 0, function* () {
25122
+ onStopScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
25097
25123
  yield adapter.stopScreenShare();
25098
25124
  }),
25099
- onToggleCamera: (options) => __awaiter$g(void 0, void 0, void 0, function* () {
25125
+ onToggleCamera: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
25100
25126
  isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
25101
25127
  }),
25102
- onToggleMicrophone: () => __awaiter$g(void 0, void 0, void 0, function* () {
25128
+ onToggleMicrophone: () => __awaiter$h(void 0, void 0, void 0, function* () {
25103
25129
  var _c;
25104
25130
  return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
25105
25131
  }),
25106
- onToggleScreenShare: () => __awaiter$g(void 0, void 0, void 0, function* () {
25132
+ onToggleScreenShare: () => __awaiter$h(void 0, void 0, void 0, function* () {
25107
25133
  var _d;
25108
25134
  return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
25109
25135
  ? yield adapter.stopScreenShare()
25110
25136
  : yield adapter.startScreenShare();
25111
25137
  }),
25112
- onStartLocalVideo: () => __awaiter$g(void 0, void 0, void 0, function* () {
25138
+ onStartLocalVideo: () => __awaiter$h(void 0, void 0, void 0, function* () {
25113
25139
  if (adapter.getState().call) {
25114
25140
  return adapter.startCamera();
25115
25141
  }
25116
25142
  }),
25117
- onDisposeLocalStreamView: () => __awaiter$g(void 0, void 0, void 0, function* () {
25143
+ onDisposeLocalStreamView: () => __awaiter$h(void 0, void 0, void 0, function* () {
25118
25144
  return adapter.disposeLocalVideoStreamView();
25119
25145
  }),
25120
- onDisposeRemoteStreamView: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25146
+ onDisposeRemoteStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25121
25147
  return adapter.disposeStreamView(userId);
25122
25148
  }),
25123
- onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25149
+ onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25124
25150
  return adapter.disposeScreenShareStreamView(userId);
25125
25151
  }),
25126
- onDisposeRemoteVideoStreamView: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25152
+ onDisposeRemoteVideoStreamView: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25127
25153
  return adapter.disposeRemoteVideoStreamView(userId);
25128
25154
  }),
25129
25155
  /* @conditional-compile-remove(call-readiness) */
25130
- askDevicePermission: (constrain) => __awaiter$g(void 0, void 0, void 0, function* () {
25156
+ askDevicePermission: (constrain) => __awaiter$h(void 0, void 0, void 0, function* () {
25131
25157
  return adapter.askDevicePermission(constrain);
25132
25158
  }),
25133
25159
  /* @conditional-compile-remove(video-background-effects) */
25134
- onRemoveVideoBackgroundEffects: () => __awaiter$g(void 0, void 0, void 0, function* () {
25160
+ onRemoveVideoBackgroundEffects: () => __awaiter$h(void 0, void 0, void 0, function* () {
25135
25161
  return yield adapter.stopVideoBackgroundEffects();
25136
25162
  }),
25137
25163
  /* @conditional-compile-remove(video-background-effects) */
25138
- onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$g(void 0, void 0, void 0, function* () {
25164
+ onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$h(void 0, void 0, void 0, function* () {
25139
25165
  const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
25140
25166
  return yield adapter.startVideoBackgroundEffect(blurConfig);
25141
25167
  }),
25142
25168
  /* @conditional-compile-remove(video-background-effects) */
25143
- onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$g(void 0, void 0, void 0, function* () {
25169
+ onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$h(void 0, void 0, void 0, function* () {
25144
25170
  const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
25145
25171
  return yield adapter.startVideoBackgroundEffect(replacementConfig);
25146
25172
  }),
25147
25173
  /* @conditional-compile-remove(close-captions) */
25148
- onStartCaptions: (options) => __awaiter$g(void 0, void 0, void 0, function* () {
25174
+ onStartCaptions: (options) => __awaiter$h(void 0, void 0, void 0, function* () {
25149
25175
  yield adapter.startCaptions(options);
25150
25176
  }),
25151
25177
  /* @conditional-compile-remove(close-captions) */
25152
- onStopCaptions: () => __awaiter$g(void 0, void 0, void 0, function* () {
25178
+ onStopCaptions: () => __awaiter$h(void 0, void 0, void 0, function* () {
25153
25179
  yield adapter.stopCaptions();
25154
25180
  }),
25155
25181
  /* @conditional-compile-remove(close-captions) */
25156
- onSetSpokenLanguage: (language) => __awaiter$g(void 0, void 0, void 0, function* () {
25182
+ onSetSpokenLanguage: (language) => __awaiter$h(void 0, void 0, void 0, function* () {
25157
25183
  yield adapter.setSpokenLanguage(language);
25158
25184
  }),
25159
25185
  /* @conditional-compile-remove(close-captions) */
25160
- onSetCaptionLanguage: (language) => __awaiter$g(void 0, void 0, void 0, function* () {
25186
+ onSetCaptionLanguage: (language) => __awaiter$h(void 0, void 0, void 0, function* () {
25161
25187
  yield adapter.setCaptionLanguage(language);
25162
25188
  }),
25163
25189
  /* @conditional-compile-remove(end-of-call-survey) */
25164
- onSubmitSurvey: (survey) => __awaiter$g(void 0, void 0, void 0, function* () {
25190
+ onSubmitSurvey: (survey) => __awaiter$h(void 0, void 0, void 0, function* () {
25165
25191
  return yield adapter.submitSurvey(survey);
25166
25192
  }),
25167
25193
  /* @conditional-compile-remove(spotlight) */
25168
- onStartSpotlight: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25194
+ onStartSpotlight: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25169
25195
  yield adapter.startSpotlight(userId);
25170
25196
  }),
25171
25197
  /* @conditional-compile-remove(spotlight) */
25172
- onStopSpotlight: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
25198
+ onStopSpotlight: (userId) => __awaiter$h(void 0, void 0, void 0, function* () {
25173
25199
  yield adapter.stopSpotlight(userId);
25174
25200
  })
25175
25201
  }));
@@ -25303,17 +25329,17 @@ const concatButtonBaseStyles = (...styles) => {
25303
25329
 
25304
25330
  // Copyright (c) Microsoft Corporation.
25305
25331
  // Licensed under the MIT License.
25306
- const icon$2 = () => React.createElement(reactIcons.MoreHorizontal20Filled, { key: 'chatOnIconKey', primaryFill: "currentColor" });
25332
+ const icon$3 = () => React.createElement(reactIcons.MoreHorizontal20Filled, { key: 'chatOnIconKey', primaryFill: "currentColor" });
25307
25333
  /**
25308
25334
  * @private
25309
25335
  */
25310
25336
  const MoreButton = (props) => {
25311
- 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'] })));
25312
25338
  };
25313
25339
 
25314
25340
  // Copyright (c) Microsoft Corporation.
25315
25341
  // Licensed under the MIT License.
25316
- var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25342
+ var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25317
25343
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25318
25344
  return new (P || (P = Promise))(function (resolve, reject) {
25319
25345
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25341,7 +25367,7 @@ const CaptionsBannerMoreButton = (props) => {
25341
25367
  /* @conditional-compile-remove(close-captions) */
25342
25368
  const moreButtonContextualMenuItems = [];
25343
25369
  /* @conditional-compile-remove(close-captions) */
25344
- 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* () {
25345
25371
  yield startCaptionsButtonHandlers.onStartCaptions({
25346
25372
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
25347
25373
  });
@@ -25781,7 +25807,7 @@ const isDisabled$2 = (option) => {
25781
25807
 
25782
25808
  // Copyright (c) Microsoft Corporation.
25783
25809
  // Licensed under the MIT License.
25784
- const icon$1 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlButtonParticipants' });
25810
+ const icon$2 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlButtonParticipants' });
25785
25811
  /**
25786
25812
  * @private
25787
25813
  */
@@ -25797,7 +25823,7 @@ const People = (props) => {
25797
25823
  }
25798
25824
  }, (_a = props.styles) !== null && _a !== void 0 ? _a : {}, controlButtonBaseStyle);
25799
25825
  }, [props.styles, theme.palette.neutralLight]);
25800
- 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 })));
25801
25827
  };
25802
25828
 
25803
25829
  // Copyright (c) Microsoft Corporation.
@@ -26414,7 +26440,7 @@ const isRoomsCallTrampoline = (adapter) => {
26414
26440
 
26415
26441
  // Copyright (c) Microsoft Corporation.
26416
26442
  // Licensed under the MIT License.
26417
- const icon = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
26443
+ const icon$1 = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
26418
26444
  /**
26419
26445
  * @private
26420
26446
  */
@@ -26429,7 +26455,7 @@ const PeopleButton = (props) => {
26429
26455
  }
26430
26456
  }, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
26431
26457
  }, [props.styles, theme.palette.neutralLight]);
26432
- 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 })));
26433
26459
  };
26434
26460
 
26435
26461
  // Copyright (c) Microsoft Corporation.
@@ -26448,7 +26474,7 @@ const useCallWithChatCompositeStrings = () => {
26448
26474
 
26449
26475
  // Copyright (c) Microsoft Corporation.
26450
26476
  // Licensed under the MIT License.
26451
- var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
26477
+ var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
26452
26478
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
26453
26479
  return new (P || (P = Promise))(function (resolve, reject) {
26454
26480
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -26462,7 +26488,7 @@ var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments,
26462
26488
  * @private
26463
26489
  */
26464
26490
  const DesktopMoreButton = (props) => {
26465
- var _a, _b, _c, _d, _e, _f, _g;
26491
+ var _a, _b, _c, _d, _e, _f, _g, _h;
26466
26492
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
26467
26493
  const localeStrings = useLocale();
26468
26494
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
@@ -26472,7 +26498,7 @@ const DesktopMoreButton = (props) => {
26472
26498
  /* @conditional-compile-remove(close-captions) */
26473
26499
  const startCaptionsButtonHandlers = useHandlers();
26474
26500
  /* @conditional-compile-remove(close-captions) */
26475
- 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* () {
26476
26502
  yield startCaptionsButtonHandlers.onStartCaptions({
26477
26503
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
26478
26504
  });
@@ -26483,6 +26509,8 @@ const DesktopMoreButton = (props) => {
26483
26509
  const [focusedContentOn, setFocusedContentOn] = React.useState(false);
26484
26510
  /* @conditional-compile-remove(gallery-layouts) */
26485
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);
26486
26514
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
26487
26515
  const moreButtonStrings = React.useMemo(() => ({
26488
26516
  label: localeStrings.strings.call.moreButtonCallingLabel,
@@ -26574,6 +26602,31 @@ const DesktopMoreButton = (props) => {
26574
26602
  });
26575
26603
  }
26576
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
+ }
26577
26630
  /*@conditional-compile-remove(PSTN-calls) */
26578
26631
  if (props.onClickShowDialpad) {
26579
26632
  moreButtonContextualMenuItems.push({
@@ -26734,11 +26787,11 @@ const DesktopMoreButton = (props) => {
26734
26787
  }
26735
26788
  };
26736
26789
  /* @conditional-compile-remove(large-gallery) */
26737
- (_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);
26738
26791
  /* @conditional-compile-remove(gallery-layout-composite) */
26739
- (_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);
26740
26793
  /* @conditional-compile-remove(overflow-top-composite) */
26741
- (_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);
26742
26795
  /* @conditional-compile-remove(gallery-layouts) */
26743
26796
  moreButtonContextualMenuItems.push(galleryOptions);
26744
26797
  }
@@ -26811,6 +26864,38 @@ const invisibleHiddenFocusStartPoint = {
26811
26864
  }
26812
26865
  };
26813
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
+
26814
26899
  // Copyright (c) Microsoft Corporation.
26815
26900
  // Licensed under the MIT License.
26816
26901
  const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) => {
@@ -26954,6 +27039,12 @@ const CommonCallControlBar = (props) => {
26954
27039
  /* @conditional-compile-remove(rooms) */ !hideRaiseHandButtonInRoomsCall && (React.createElement(RaiseHand, { displayType: options.displayType, styles: commonButtonStyles,
26955
27040
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
26956
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
+ } })),
26957
27048
  screenShareButtonIsEnabled && (React.createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
26958
27049
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
26959
27050
  disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.screenShareButton) })), (_b = customButtons['primary']) === null || _b === void 0 ? void 0 :
@@ -26977,7 +27068,11 @@ const CommonCallControlBar = (props) => {
26977
27068
  /* @conditional-compile-remove(gallery-layouts) */
26978
27069
  onUserSetGalleryLayout: props.onUserSetGalleryLayout,
26979
27070
  /* @conditional-compile-remove(gallery-layouts) */
26980
- 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 })),
26981
27076
  React.createElement(EndCall, { displayType: "compact", styles: endCallButtonStyles }))))))),
26982
27077
  !props.mobileView && sideButtonsPresent && (React.createElement(react.Stack.Item, null,
26983
27078
  React.createElement("div", { ref: sidepaneControlsRef },
@@ -27092,6 +27187,15 @@ const getDesktopEndCallButtonStyles = (theme) => {
27092
27187
  return react.concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);
27093
27188
  };
27094
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
+ };
27095
27199
 
27096
27200
  // Copyright (c) Microsoft Corporation.
27097
27201
  // Licensed under the MIT License.
@@ -27226,7 +27330,7 @@ const themedToggleButtonStyle = (theme, checked) => {
27226
27330
 
27227
27331
  // Copyright (c) Microsoft Corporation.
27228
27332
  // Licensed under the MIT License.
27229
- var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27333
+ var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27230
27334
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27231
27335
  return new (P || (P = Promise))(function (resolve, reject) {
27232
27336
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -27465,7 +27569,7 @@ const MoreDrawer = (props) => {
27465
27569
  ? captionSettingsProp.currentCaptionLanguage
27466
27570
  : _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
27467
27571
  /* @conditional-compile-remove(close-captions) */
27468
- 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* () {
27469
27573
  if (!captionSettingsProp.isCaptionsFeatureActive) {
27470
27574
  yield startCaptionsButtonHandlers.onStartCaptions({
27471
27575
  spokenLanguage: currentSpokenLanguage
@@ -28204,7 +28308,7 @@ const AddPeopleButton = (props) => {
28204
28308
 
28205
28309
  // Copyright (c) Microsoft Corporation.
28206
28310
  // Licensed under the MIT License.
28207
- var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28311
+ var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28208
28312
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28209
28313
  return new (P || (P = Promise))(function (resolve, reject) {
28210
28314
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28226,11 +28330,11 @@ const PeoplePaneContent = (props) => {
28226
28330
  return localeStrings.strings.call;
28227
28331
  };
28228
28332
  const strings = getStrings();
28229
- 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* () {
28230
28334
  yield adapter.removeParticipant(participantId);
28231
28335
  }), [adapter]);
28232
28336
  /* @conditional-compile-remove(PSTN-calls) */
28233
- 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* () {
28234
28338
  yield adapter.addParticipant(participant, options);
28235
28339
  }), [adapter]);
28236
28340
  /* @conditional-compile-remove(PSTN-calls) */
@@ -28257,7 +28361,7 @@ const PeoplePaneContent = (props) => {
28257
28361
  setDrawerMenuItems
28258
28362
  ]);
28259
28363
  const participantListProps = React.useMemo(() => {
28260
- 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); });
28261
28365
  return Object.assign(Object.assign({}, participantListDefaultProps), {
28262
28366
  // Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked
28263
28367
  onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,
@@ -28398,7 +28502,7 @@ const localVideoSelector = reselect__namespace.createSelector([callStatusSelecto
28398
28502
 
28399
28503
  // Copyright (c) Microsoft Corporation.
28400
28504
  // Licensed under the MIT License.
28401
- var __awaiter$b = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28505
+ var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28402
28506
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28403
28507
  return new (P || (P = Promise))(function (resolve, reject) {
28404
28508
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28467,7 +28571,7 @@ const VideoEffectsPaneContent = (props) => {
28467
28571
  return videoEffects;
28468
28572
  }, [strings, adapter]);
28469
28573
  /* @conditional-compile-remove(video-background-effects) */
28470
- 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* () {
28471
28575
  if (effectKey === 'blur') {
28472
28576
  const blurEffect = {
28473
28577
  effectName: effectKey
@@ -29203,7 +29307,11 @@ const CallArrangement = (props) => {
29203
29307
  /* @conditional-compile-remove(gallery-layouts) */
29204
29308
  onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange,
29205
29309
  /* @conditional-compile-remove(gallery-layouts) */
29206
- 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 }))))),
29207
29315
  ((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
29208
29316
  React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
29209
29317
  /* @conditional-compile-remove(PSTN-calls) */
@@ -29703,6 +29811,106 @@ const networkReconnectTileSelector = reselect__namespace.createSelector([getUser
29703
29811
  };
29704
29812
  });
29705
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
+
29706
29914
  // Copyright (c) Microsoft Corporation.
29707
29915
  // Licensed under the MIT License.
29708
29916
  /**
@@ -29727,10 +29935,31 @@ const CallPage = (props) => {
29727
29935
  const errorBarProps = usePropsFor$1(ErrorBar);
29728
29936
  const mutedNotificationProps = useSelector$1(mutedNotificationSelector);
29729
29937
  const networkReconnectTileProps = useSelector$1(networkReconnectTileSelector);
29938
+ /* @conditional-compile-remove(dtmf-dialer) */
29939
+ const [dtmfDialerPresent, setDtmfDialerPresent] = React.useState(false);
29730
29940
  const strings = useLocale().strings.call;
29731
29941
  // Reduce the controls shown when mobile view is enabled.
29732
29942
  const callControlOptions = mobileView ? reduceCallControlsForMobile(options === null || options === void 0 ? void 0 : options.callControls) : options === null || options === void 0 ? void 0 : options.callControls;
29733
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
+ };
29734
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: {
29735
29964
  callInvitationURL: callInvitationURL,
29736
29965
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
@@ -29738,15 +29967,7 @@ const CallPage = (props) => {
29738
29967
  increaseFlyoutItemSize: mobileView
29739
29968
  },
29740
29969
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
29741
- onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData,
29742
- /* @conditional-compile-remove(pinned-participants) */
29743
- remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
29744
- /* @conditional-compile-remove(click-to-call) */
29745
- localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
29746
- /* @conditional-compile-remove(gallery-layouts) */
29747
- userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
29748
- /* @conditional-compile-remove(gallery-layouts) */
29749
- 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,
29750
29971
  /* @conditional-compile-remove(gallery-layouts) */
29751
29972
  onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition,
29752
29973
  /* @conditional-compile-remove(gallery-layouts) */
@@ -29754,7 +29975,9 @@ const CallPage = (props) => {
29754
29975
  /* @conditional-compile-remove(gallery-layouts) */
29755
29976
  userSetGalleryLayout: galleryLayout,
29756
29977
  /* @conditional-compile-remove(capabilities) */
29757
- capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps }));
29978
+ capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps,
29979
+ /* @conditional-compile-remove(dtmf-dialer) */
29980
+ onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent) }));
29758
29981
  };
29759
29982
  /**
29760
29983
  * @private