@azure/communication-react 1.21.0-alpha-202410240016 → 1.21.0-alpha-202410260016

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 (92) hide show
  1. package/dist/communication-react.d.ts +197 -4
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DMypxgeJ.js → ChatMessageComponentAsRichTextEditBox-DKtnUkjs.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DMypxgeJ.js.map → ChatMessageComponentAsRichTextEditBox-DKtnUkjs.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-CKSPOu5D.js → RichTextSendBoxWrapper-4oy8pNfs.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-CKSPOu5D.js.map → RichTextSendBoxWrapper-4oy8pNfs.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-B2OZ_HmN.js → index-DIlQv9vm.js} +437 -234
  7. package/dist/dist-cjs/communication-react/index-DIlQv9vm.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +4 -1
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +21 -17
  13. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +7 -2
  15. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +17 -3
  16. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  17. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +8 -2
  18. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  19. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +2 -1
  20. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  21. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -1
  22. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  23. package/dist/dist-esm/communication-react/src/index.d.ts +7 -1
  24. package/dist/dist-esm/communication-react/src/index.js +6 -0
  25. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/Notification.d.ts +49 -2
  27. package/dist/dist-esm/react-components/src/components/Notification.js +14 -10
  28. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.d.ts +28 -0
  30. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js +28 -0
  31. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js.map +1 -0
  32. package/dist/dist-esm/react-components/src/components/RTTModal.d.ts +39 -0
  33. package/dist/dist-esm/react-components/src/components/RTTModal.js +55 -0
  34. package/dist/dist-esm/react-components/src/components/RTTModal.js.map +1 -0
  35. package/dist/dist-esm/react-components/src/components/RealTimeText.d.ts +54 -0
  36. package/dist/dist-esm/react-components/src/components/RealTimeText.js +43 -0
  37. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -0
  38. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +13 -1
  39. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  40. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +8 -11
  41. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  42. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +4 -0
  43. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +1 -1
  45. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/StreamMedia.js +13 -4
  47. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +3 -4
  49. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +4 -0
  51. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  52. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +1 -1
  53. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  54. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +2 -0
  55. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/index.d.ts +3 -0
  57. package/dist/dist-esm/react-components/src/components/index.js +6 -0
  58. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  59. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +8 -0
  60. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +26 -0
  61. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  62. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.d.ts +9 -5
  63. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js +43 -24
  64. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -1
  65. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.d.ts +6 -0
  66. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js +17 -0
  67. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js.map +1 -0
  68. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.d.ts +2 -2
  69. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +6 -15
  70. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  71. package/dist/dist-esm/react-components/src/components/utils/Logger.d.ts +5 -0
  72. package/dist/dist-esm/react-components/src/components/utils/Logger.js +8 -0
  73. package/dist/dist-esm/react-components/src/components/utils/Logger.js.map +1 -0
  74. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +9 -0
  75. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  76. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +18 -0
  77. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  78. package/dist/dist-esm/react-components/src/theming/icons.js +5 -1
  79. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  80. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +2 -3
  81. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  82. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +1 -1
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  85. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -1
  86. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  87. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  88. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +1 -0
  89. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  90. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -0
  91. package/package.json +1 -1
  92. package/dist/dist-cjs/communication-react/index-B2OZ_HmN.js.map +0 -1
@@ -188,7 +188,7 @@ function getDefaultExportFromCjs (x) {
188
188
  // Copyright (c) Microsoft Corporation.
189
189
  // Licensed under the MIT License.
190
190
  // GENERATED FILE. DO NOT EDIT MANUALLY.
191
- var telemetryVersion = '1.21.0-alpha-202410240016';
191
+ var telemetryVersion = '1.21.0-alpha-202410260016';
192
192
 
193
193
 
194
194
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -615,7 +615,7 @@ const getAssignedBreakoutRoom$1 = (state, props) => {
615
615
 
616
616
  // Copyright (c) Microsoft Corporation.
617
617
  // Licensed under the MIT License.
618
- var __awaiter$$ = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
618
+ var __awaiter$10 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
619
619
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
620
620
  return new (P || (P = Promise))(function (resolve, reject) {
621
621
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -655,7 +655,7 @@ const _isPreviewOn = (deviceManager) => {
655
655
  *
656
656
  * @private
657
657
  */
658
- const disposeAllLocalPreviewViews = (callClient) => __awaiter$$(void 0, void 0, void 0, function* () {
658
+ const disposeAllLocalPreviewViews = (callClient) => __awaiter$10(void 0, void 0, void 0, function* () {
659
659
  const unparentedViews = callClient.getState().deviceManager.unparentedViews;
660
660
  for (const view of unparentedViews) {
661
661
  yield callClient.disposeView(undefined, undefined, view);
@@ -696,14 +696,14 @@ const isTeamsCallParticipants = (participants) => {
696
696
  };
697
697
  /**
698
698
  * @private
699
- * Checks whether the user is a 'Ringing' PSTN user.
699
+ * Checks whether the user is a 'Ringing' PSTN user or in a 'Connecting' state.
700
700
  */
701
701
  const _convertParticipantState = (participant) => {
702
702
  var _a;
703
703
  /* @conditional-compile-remove(remote-ufd) */
704
704
  if (participant.diagnostics &&
705
- participant.diagnostics['ServerConnection'] &&
706
- ((_a = participant.diagnostics['ServerConnection']) === null || _a === void 0 ? void 0 : _a.value) === false) {
705
+ participant.diagnostics['serverConnection'] &&
706
+ ((_a = participant.diagnostics['serverConnection']) === null || _a === void 0 ? void 0 : _a.value) === false) {
707
707
  return 'Reconnecting';
708
708
  }
709
709
  return communicationCommon.isPhoneNumberIdentifier(participant.identifier) && participant.state === 'Connecting'
@@ -731,13 +731,27 @@ const maskDisplayNameWithRole = (displayName, localUserRole, participantRole, is
731
731
  * Helper to create a local video stream from the selected camera.
732
732
  * @private
733
733
  */
734
- const createLocalVideoStream = (callClient) => __awaiter$$(void 0, void 0, void 0, function* () {
734
+ const createLocalVideoStream = (callClient) => __awaiter$10(void 0, void 0, void 0, function* () {
735
735
  const camera = yield (callClient === null || callClient === void 0 ? void 0 : callClient.getState().deviceManager.selectedCamera);
736
736
  if (camera) {
737
737
  return new communicationCalling.LocalVideoStream(camera);
738
738
  }
739
739
  return undefined;
740
740
  });
741
+ /**
742
+ * Get call state if existing, if not and the call not exists in ended record return undefined, if it never exists, throw an error.
743
+ * @private
744
+ */
745
+ const getCallStateIfExist = (state, callId) => {
746
+ if (!state.calls[callId]) {
747
+ // If call has ended, we don't need to throw an error.
748
+ if (state.callsEnded[callId]) {
749
+ return undefined;
750
+ }
751
+ throw new Error(`Call Not Found: ${callId}`);
752
+ }
753
+ return state.calls[callId];
754
+ };
741
755
 
742
756
  // Copyright (c) Microsoft Corporation.
743
757
  // Licensed under the MIT License.
@@ -852,7 +866,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
852
866
 
853
867
  // Copyright (c) Microsoft Corporation.
854
868
  // Licensed under the MIT License.
855
- var __awaiter$_ = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
869
+ var __awaiter$$ = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
856
870
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
857
871
  return new (P || (P = Promise))(function (resolve, reject) {
858
872
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -873,7 +887,7 @@ const areStreamsEqual = (prevStream, newStream) => {
873
887
  * @private
874
888
  */
875
889
  const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager, call, options) => {
876
- const onStartLocalVideo = () => __awaiter$_(void 0, void 0, void 0, function* () {
890
+ const onStartLocalVideo = () => __awaiter$$(void 0, void 0, void 0, function* () {
877
891
  // Before the call object creates a stream, dispose of any local preview streams.
878
892
  // @TODO: is there any way to parent the unparented view to the call object instead
879
893
  // of disposing and creating a new stream?
@@ -893,7 +907,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
893
907
  yield call.startVideo(stream);
894
908
  }
895
909
  });
896
- const onStopLocalVideo = (stream) => __awaiter$_(void 0, void 0, void 0, function* () {
910
+ const onStopLocalVideo = (stream) => __awaiter$$(void 0, void 0, void 0, function* () {
897
911
  const callId = call === null || call === void 0 ? void 0 : call.id;
898
912
  if (!callId) {
899
913
  return;
@@ -902,7 +916,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
902
916
  yield call.stopVideo(stream);
903
917
  }
904
918
  });
905
- const onToggleCamera = (options) => __awaiter$_(void 0, void 0, void 0, function* () {
919
+ const onToggleCamera = (options) => __awaiter$$(void 0, void 0, void 0, function* () {
906
920
  const previewOn = _isPreviewOn(callClient.getState().deviceManager);
907
921
  // the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
908
922
  // The root cause of the issue is caused by never transitioning the unparented view to the
@@ -959,19 +973,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
959
973
  }
960
974
  }
961
975
  });
962
- const onSelectMicrophone = (device) => __awaiter$_(void 0, void 0, void 0, function* () {
976
+ const onSelectMicrophone = (device) => __awaiter$$(void 0, void 0, void 0, function* () {
963
977
  if (!deviceManager) {
964
978
  return;
965
979
  }
966
980
  return deviceManager.selectMicrophone(device);
967
981
  });
968
- const onSelectSpeaker = (device) => __awaiter$_(void 0, void 0, void 0, function* () {
982
+ const onSelectSpeaker = (device) => __awaiter$$(void 0, void 0, void 0, function* () {
969
983
  if (!deviceManager) {
970
984
  return;
971
985
  }
972
986
  return deviceManager.selectSpeaker(device);
973
987
  });
974
- const onSelectCamera = (device, options) => __awaiter$_(void 0, void 0, void 0, function* () {
988
+ const onSelectCamera = (device, options) => __awaiter$$(void 0, void 0, void 0, function* () {
975
989
  if (!deviceManager) {
976
990
  return;
977
991
  }
@@ -1001,9 +1015,9 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1001
1015
  }, options);
1002
1016
  }
1003
1017
  });
1004
- const onRaiseHand = () => __awaiter$_(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()); });
1005
- const onLowerHand = () => __awaiter$_(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()); });
1006
- const onToggleRaiseHand = () => __awaiter$_(void 0, void 0, void 0, function* () {
1018
+ const onRaiseHand = () => __awaiter$$(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()); });
1019
+ const onLowerHand = () => __awaiter$$(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()); });
1020
+ const onToggleRaiseHand = () => __awaiter$$(void 0, void 0, void 0, function* () {
1007
1021
  const raiseHandFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand);
1008
1022
  const localUserId = callClient.getState().userId;
1009
1023
  const isLocalRaisedHand = raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.getRaisedHands().find((publishedState) => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));
@@ -1014,7 +1028,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1014
1028
  yield (raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.raiseHand());
1015
1029
  }
1016
1030
  });
1017
- const onReactionClick = (reaction) => __awaiter$_(void 0, void 0, void 0, function* () {
1031
+ const onReactionClick = (reaction) => __awaiter$$(void 0, void 0, void 0, function* () {
1018
1032
  var _c;
1019
1033
  if (reaction === 'like' ||
1020
1034
  reaction === 'applause' ||
@@ -1028,18 +1042,18 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1028
1042
  }
1029
1043
  return;
1030
1044
  });
1031
- const onToggleMicrophone = () => __awaiter$_(void 0, void 0, void 0, function* () {
1045
+ const onToggleMicrophone = () => __awaiter$$(void 0, void 0, void 0, function* () {
1032
1046
  if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
1033
1047
  throw new Error(`Please invoke onToggleMicrophone after call is started`);
1034
1048
  }
1035
1049
  return call.isMuted ? yield call.unmute() : yield call.mute();
1036
1050
  });
1037
- const onStartScreenShare = () => __awaiter$_(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
1038
- const onStopScreenShare = () => __awaiter$_(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
1039
- const onToggleScreenShare = () => __awaiter$_(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
1040
- const onHangUp = (forEveryone) => __awaiter$_(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
1041
- const onToggleHold = () => __awaiter$_(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()); });
1042
- const onCreateLocalStreamView = (...args_1) => __awaiter$_(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
1051
+ const onStartScreenShare = () => __awaiter$$(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
1052
+ const onStopScreenShare = () => __awaiter$$(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
1053
+ const onToggleScreenShare = () => __awaiter$$(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
1054
+ const onHangUp = (forEveryone) => __awaiter$$(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
1055
+ const onToggleHold = () => __awaiter$$(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()); });
1056
+ const onCreateLocalStreamView = (...args_1) => __awaiter$$(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
1043
1057
  if (!call || call.localVideoStreams.length === 0) {
1044
1058
  return;
1045
1059
  }
@@ -1063,13 +1077,13 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1063
1077
  }
1064
1078
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
1065
1079
  });
1066
- const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$_(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
1080
+ const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$$(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
1067
1081
  if (!call) {
1068
1082
  return;
1069
1083
  }
1070
- const callState = callClient.getState().calls[call.id];
1084
+ const callState = getCallStateIfExist(callClient.getState(), call.id);
1071
1085
  if (!callState) {
1072
- throw new Error(`Call Not Found: ${call.id}`);
1086
+ return;
1073
1087
  }
1074
1088
  const participant = Object.values(callState.remoteParticipants).find((participant) => toFlatCommunicationIdentifier(participant.identifier) === userId);
1075
1089
  if (!participant || !participant.videoStreams) {
@@ -1100,13 +1114,13 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1100
1114
  }
1101
1115
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
1102
1116
  });
1103
- const onDisposeRemoteStreamView = (userId) => __awaiter$_(void 0, void 0, void 0, function* () {
1117
+ const onDisposeRemoteStreamView = (userId) => __awaiter$$(void 0, void 0, void 0, function* () {
1104
1118
  if (!call) {
1105
1119
  return;
1106
1120
  }
1107
- const callState = callClient.getState().calls[call.id];
1121
+ const callState = getCallStateIfExist(callClient.getState(), call.id);
1108
1122
  if (!callState) {
1109
- throw new Error(`Call Not Found: ${call.id}`);
1123
+ return;
1110
1124
  }
1111
1125
  const participant = Object.values(callState.remoteParticipants).find((participant) => toFlatCommunicationIdentifier(participant.identifier) === userId);
1112
1126
  if (!participant || !participant.videoStreams) {
@@ -1121,54 +1135,58 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1121
1135
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
1122
1136
  }
1123
1137
  });
1124
- const onDisposeRemoteVideoStreamView = (userId) => __awaiter$_(void 0, void 0, void 0, function* () {
1138
+ const onDisposeRemoteVideoStreamView = (userId) => __awaiter$$(void 0, void 0, void 0, function* () {
1125
1139
  if (!call) {
1126
1140
  return;
1127
1141
  }
1128
- const callState = callClient.getState().calls[call.id];
1142
+ const callState = getCallStateIfExist(callClient.getState(), call.id);
1129
1143
  if (!callState) {
1130
- throw new Error(`Call Not Found: ${call.id}`);
1144
+ return;
1131
1145
  }
1132
1146
  const participant = Object.values(callState.remoteParticipants).find((participant) => toFlatCommunicationIdentifier(participant.identifier) === userId);
1133
1147
  if (!participant || !participant.videoStreams) {
1134
1148
  return;
1135
1149
  }
1136
- const remoteVideoStream = Object.values(participant.videoStreams).find((i) => i.mediaStreamType === 'Video');
1137
- if (remoteVideoStream && remoteVideoStream.view) {
1138
- callClient.disposeView(call.id, participant.identifier, remoteVideoStream);
1150
+ const remoteVideoStream = Object.values(participant.videoStreams).filter((i) => i.mediaStreamType === 'Video');
1151
+ for (const stream of remoteVideoStream) {
1152
+ if (stream.view) {
1153
+ callClient.disposeView(call.id, participant.identifier, stream);
1154
+ }
1139
1155
  }
1140
1156
  });
1141
- const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$_(void 0, void 0, void 0, function* () {
1157
+ const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$$(void 0, void 0, void 0, function* () {
1142
1158
  if (!call) {
1143
1159
  return;
1144
1160
  }
1145
- const callState = callClient.getState().calls[call.id];
1161
+ const callState = getCallStateIfExist(callClient.getState(), call.id);
1146
1162
  if (!callState) {
1147
- throw new Error(`Call Not Found: ${call.id}`);
1163
+ return;
1148
1164
  }
1149
1165
  const participant = Object.values(callState.remoteParticipants).find((participant) => toFlatCommunicationIdentifier(participant.identifier) === userId);
1150
1166
  if (!participant || !participant.videoStreams) {
1151
1167
  return;
1152
1168
  }
1153
- const screenShareStream = Object.values(participant.videoStreams).find((i) => i.mediaStreamType === 'ScreenSharing');
1154
- if (screenShareStream && screenShareStream.view) {
1155
- callClient.disposeView(call.id, participant.identifier, screenShareStream);
1169
+ const screenShareStreams = Object.values(participant.videoStreams).filter((i) => i.mediaStreamType === 'ScreenSharing');
1170
+ for (const stream of screenShareStreams) {
1171
+ if (stream.view) {
1172
+ callClient.disposeView(call.id, participant.identifier, stream);
1173
+ }
1156
1174
  }
1157
1175
  });
1158
- const onDisposeLocalScreenShareStreamView = () => __awaiter$_(void 0, void 0, void 0, function* () {
1176
+ const onDisposeLocalScreenShareStreamView = () => __awaiter$$(void 0, void 0, void 0, function* () {
1159
1177
  if (!call) {
1160
1178
  return;
1161
1179
  }
1162
- const callState = callClient.getState().calls[call.id];
1180
+ const callState = getCallStateIfExist(callClient.getState(), call.id);
1163
1181
  if (!callState) {
1164
- throw new Error(`Call Not Found: ${call.id}`);
1182
+ return;
1165
1183
  }
1166
1184
  const screenShareStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'ScreenSharing');
1167
1185
  if (screenShareStream && screenShareStream.view) {
1168
1186
  callClient.disposeView(call.id, undefined, screenShareStream);
1169
1187
  }
1170
1188
  });
1171
- const onDisposeLocalStreamView = () => __awaiter$_(void 0, void 0, void 0, function* () {
1189
+ const onDisposeLocalStreamView = () => __awaiter$$(void 0, void 0, void 0, function* () {
1172
1190
  // If the user is currently in a call, dispose of the local stream view attached to that call.
1173
1191
  const callState = call && callClient.getState().calls[call.id];
1174
1192
  const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
@@ -1180,17 +1198,17 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1180
1198
  // TODO: we need to remember which LocalVideoStream was used for LocalPreview and dispose that one.
1181
1199
  yield disposeAllLocalPreviewViews(callClient);
1182
1200
  });
1183
- const onSendDtmfTone = (dtmfTone) => __awaiter$_(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
1201
+ const onSendDtmfTone = (dtmfTone) => __awaiter$$(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
1184
1202
  const notImplemented = () => {
1185
1203
  throw new Error('Not implemented, cannot call a method from an abstract object');
1186
1204
  };
1187
1205
  /* @conditional-compile-remove(call-readiness) */
1188
- const askDevicePermission = (constrain) => __awaiter$_(void 0, void 0, void 0, function* () {
1206
+ const askDevicePermission = (constrain) => __awaiter$$(void 0, void 0, void 0, function* () {
1189
1207
  if (deviceManager) {
1190
1208
  yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
1191
1209
  }
1192
1210
  });
1193
- const onRemoveVideoBackgroundEffects = () => __awaiter$_(void 0, void 0, void 0, function* () {
1211
+ const onRemoveVideoBackgroundEffects = () => __awaiter$$(void 0, void 0, void 0, function* () {
1194
1212
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
1195
1213
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
1196
1214
  if (stream) {
@@ -1202,7 +1220,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1202
1220
  }
1203
1221
  }
1204
1222
  });
1205
- const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$_(void 0, void 0, void 0, function* () {
1223
+ const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$$(void 0, void 0, void 0, function* () {
1206
1224
  var _d;
1207
1225
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
1208
1226
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -1215,7 +1233,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1215
1233
  return createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundBlurConfig));
1216
1234
  }
1217
1235
  });
1218
- const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$_(void 0, void 0, void 0, function* () {
1236
+ const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$$(void 0, void 0, void 0, function* () {
1219
1237
  var _e;
1220
1238
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
1221
1239
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -1228,7 +1246,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1228
1246
  return (createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig)));
1229
1247
  }
1230
1248
  });
1231
- const onStartNoiseSuppressionEffect = () => __awaiter$_(void 0, void 0, void 0, function* () {
1249
+ const onStartNoiseSuppressionEffect = () => __awaiter$$(void 0, void 0, void 0, function* () {
1232
1250
  var _f;
1233
1251
  const audioEffects = (options === null || options === void 0 ? void 0 : options.onResolveDeepNoiseSuppressionDependency) &&
1234
1252
  ((_f = (yield options.onResolveDeepNoiseSuppressionDependency())) === null || _f === void 0 ? void 0 : _f.deepNoiseSuppressionEffect);
@@ -1244,7 +1262,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1244
1262
  }
1245
1263
  }
1246
1264
  });
1247
- const onStopNoiseSuppressionEffect = () => __awaiter$_(void 0, void 0, void 0, function* () {
1265
+ const onStopNoiseSuppressionEffect = () => __awaiter$$(void 0, void 0, void 0, function* () {
1248
1266
  const stream = call === null || call === void 0 ? void 0 : call.localAudioStreams.find((stream) => stream.mediaStreamType === 'Audio');
1249
1267
  if (stream && (options === null || options === void 0 ? void 0 : options.onResolveDeepNoiseSuppressionDependency)) {
1250
1268
  const audioEffects = {
@@ -1253,37 +1271,37 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1253
1271
  return yield stream.feature(communicationCalling.Features.AudioEffects).stopEffects(audioEffects);
1254
1272
  }
1255
1273
  });
1256
- const onStartCaptions = (options) => __awaiter$_(void 0, void 0, void 0, function* () {
1274
+ const onStartCaptions = (options) => __awaiter$$(void 0, void 0, void 0, function* () {
1257
1275
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1258
1276
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.startCaptions(options));
1259
1277
  });
1260
- const onStopCaptions = () => __awaiter$_(void 0, void 0, void 0, function* () {
1278
+ const onStopCaptions = () => __awaiter$$(void 0, void 0, void 0, function* () {
1261
1279
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1262
1280
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.stopCaptions());
1263
1281
  });
1264
- const onSetSpokenLanguage = (language) => __awaiter$_(void 0, void 0, void 0, function* () {
1282
+ const onSetSpokenLanguage = (language) => __awaiter$$(void 0, void 0, void 0, function* () {
1265
1283
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1266
1284
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.setSpokenLanguage(language));
1267
1285
  });
1268
- const onSetCaptionLanguage = (language) => __awaiter$_(void 0, void 0, void 0, function* () {
1286
+ const onSetCaptionLanguage = (language) => __awaiter$$(void 0, void 0, void 0, function* () {
1269
1287
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
1270
1288
  yield captionsFeature.setCaptionLanguage(language);
1271
1289
  });
1272
- const onSubmitSurvey = (survey) => __awaiter$_(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
1273
- const onStartSpotlight = (userIds) => __awaiter$_(void 0, void 0, void 0, function* () {
1290
+ const onSubmitSurvey = (survey) => __awaiter$$(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
1291
+ const onStartSpotlight = (userIds) => __awaiter$$(void 0, void 0, void 0, function* () {
1274
1292
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1275
1293
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
1276
1294
  });
1277
- const onStopSpotlight = (userIds) => __awaiter$_(void 0, void 0, void 0, function* () {
1295
+ const onStopSpotlight = (userIds) => __awaiter$$(void 0, void 0, void 0, function* () {
1278
1296
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1279
1297
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
1280
1298
  });
1281
- const onStopAllSpotlight = () => __awaiter$_(void 0, void 0, void 0, function* () {
1299
+ const onStopAllSpotlight = () => __awaiter$$(void 0, void 0, void 0, function* () {
1282
1300
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopAllSpotlight());
1283
1301
  });
1284
- const onMuteParticipant = (userId) => __awaiter$_(void 0, void 0, void 0, function* () {
1302
+ const onMuteParticipant = (userId) => __awaiter$$(void 0, void 0, void 0, function* () {
1285
1303
  if (call === null || call === void 0 ? void 0 : call.remoteParticipants) {
1286
- call === null || call === void 0 ? void 0 : call.remoteParticipants.forEach((participant) => __awaiter$_(void 0, void 0, void 0, function* () {
1304
+ call === null || call === void 0 ? void 0 : call.remoteParticipants.forEach((participant) => __awaiter$$(void 0, void 0, void 0, function* () {
1287
1305
  // Using toFlatCommunicationIdentifier to convert the CommunicationIdentifier to string
1288
1306
  // as _toCommunicationIdentifier(userId) comparison to participant.identifier did not work for this case
1289
1307
  if (toFlatCommunicationIdentifier(participant.identifier) === userId) {
@@ -1292,27 +1310,27 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1292
1310
  }));
1293
1311
  }
1294
1312
  });
1295
- const onMuteAllRemoteParticipants = () => __awaiter$_(void 0, void 0, void 0, function* () {
1313
+ const onMuteAllRemoteParticipants = () => __awaiter$$(void 0, void 0, void 0, function* () {
1296
1314
  call === null || call === void 0 ? void 0 : call.muteAllRemoteParticipants();
1297
1315
  });
1298
1316
  const canStartSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.spotlightParticipant.isPresent;
1299
1317
  const canRemoveSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.removeParticipantsSpotlight.isPresent;
1300
1318
  const onStartLocalSpotlight = canStartSpotlight
1301
- ? () => __awaiter$_(void 0, void 0, void 0, function* () {
1319
+ ? () => __awaiter$$(void 0, void 0, void 0, function* () {
1302
1320
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight());
1303
1321
  })
1304
1322
  : undefined;
1305
- const onStopLocalSpotlight = () => __awaiter$_(void 0, void 0, void 0, function* () {
1323
+ const onStopLocalSpotlight = () => __awaiter$$(void 0, void 0, void 0, function* () {
1306
1324
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight());
1307
1325
  });
1308
1326
  const onStartRemoteSpotlight = canStartSpotlight
1309
- ? (userIds) => __awaiter$_(void 0, void 0, void 0, function* () {
1327
+ ? (userIds) => __awaiter$$(void 0, void 0, void 0, function* () {
1310
1328
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1311
1329
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
1312
1330
  })
1313
1331
  : undefined;
1314
1332
  const onStopRemoteSpotlight = canRemoveSpotlight
1315
- ? (userIds) => __awaiter$_(void 0, void 0, void 0, function* () {
1333
+ ? (userIds) => __awaiter$$(void 0, void 0, void 0, function* () {
1316
1334
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1317
1335
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
1318
1336
  })
@@ -1372,7 +1390,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1372
1390
 
1373
1391
  // Copyright (c) Microsoft Corporation.
1374
1392
  // Licensed under the MIT License.
1375
- var __awaiter$Z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1393
+ var __awaiter$_ = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1376
1394
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1377
1395
  return new (P || (P = Promise))(function (resolve, reject) {
1378
1396
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1403,7 +1421,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1403
1421
  // FIXME: onStartCall API should use string, not the underlying SDK types.
1404
1422
  onStartCall: (participants, options) => {
1405
1423
  return callAgent === null || callAgent === void 0 ? void 0 : callAgent.startCall(participants, options);
1406
- }, onAddParticipant: (userId, options) => __awaiter$Z(void 0, void 0, void 0, function* () {
1424
+ }, onAddParticipant: (userId, options) => __awaiter$_(void 0, void 0, void 0, function* () {
1407
1425
  const participant = _toCommunicationIdentifier(userId);
1408
1426
  if (communicationCommon.isPhoneNumberIdentifier(participant)) {
1409
1427
  call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
@@ -1411,16 +1429,16 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1411
1429
  else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
1412
1430
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
1413
1431
  }
1414
- }), onRemoveParticipant: (userId) => __awaiter$Z(void 0, void 0, void 0, function* () {
1432
+ }), onRemoveParticipant: (userId) => __awaiter$_(void 0, void 0, void 0, function* () {
1415
1433
  const participant = _toCommunicationIdentifier(userId);
1416
1434
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
1417
- }), onAcceptCall: (incomingCallId, useVideo) => __awaiter$Z(void 0, void 0, void 0, function* () {
1435
+ }), onAcceptCall: (incomingCallId, useVideo) => __awaiter$_(void 0, void 0, void 0, function* () {
1418
1436
  const localVideoStream = useVideo ? yield createLocalVideoStream(callClient) : undefined;
1419
1437
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
1420
1438
  if (incomingCall) {
1421
1439
  yield incomingCall.accept(localVideoStream ? { videoOptions: { localVideoStreams: [localVideoStream] } } : undefined);
1422
1440
  }
1423
- }), onRejectCall: (incomingCallId) => __awaiter$Z(void 0, void 0, void 0, function* () {
1441
+ }), onRejectCall: (incomingCallId) => __awaiter$_(void 0, void 0, void 0, function* () {
1424
1442
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
1425
1443
  if (incomingCall) {
1426
1444
  yield incomingCall.reject();
@@ -1428,13 +1446,13 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1428
1446
  }),
1429
1447
  /* @conditional-compile-remove(breakout-rooms) */
1430
1448
  onHangUp: breakoutRoomOriginCall
1431
- ? () => __awaiter$Z(void 0, void 0, void 0, function* () { return breakoutRoomOriginCall.hangUp().then(() => commonCallingHandlers.onHangUp()); })
1449
+ ? () => __awaiter$_(void 0, void 0, void 0, function* () { return breakoutRoomOriginCall.hangUp().then(() => commonCallingHandlers.onHangUp()); })
1432
1450
  : commonCallingHandlers.onHangUp });
1433
1451
  });
1434
1452
 
1435
1453
  // Copyright (c) Microsoft Corporation.
1436
1454
  // Licensed under the MIT License.
1437
- var __awaiter$Y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1455
+ var __awaiter$Z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1438
1456
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1439
1457
  return new (P || (P = Promise))(function (resolve, reject) {
1440
1458
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1465,7 +1483,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1465
1483
  return undefined;
1466
1484
  },
1467
1485
  /* @conditional-compile-remove(teams-identity-support-beta) */
1468
- onAddParticipant: (userId, options) => __awaiter$Y(void 0, void 0, void 0, function* () {
1486
+ onAddParticipant: (userId, options) => __awaiter$Z(void 0, void 0, void 0, function* () {
1469
1487
  const participant = _toCommunicationIdentifier(userId);
1470
1488
  const threadId = options === null || options === void 0 ? void 0 : options.threadId;
1471
1489
  if (communicationCommon.isCommunicationUserIdentifier(participant)) {
@@ -1478,7 +1496,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1478
1496
  call === null || call === void 0 ? void 0 : call.addParticipant(participant, threadId ? { threadId } : undefined);
1479
1497
  }
1480
1498
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
1481
- }), onRemoveParticipant: (userId) => __awaiter$Y(void 0, void 0, void 0, function* () {
1499
+ }), onRemoveParticipant: (userId) => __awaiter$Z(void 0, void 0, void 0, function* () {
1482
1500
  const participant = _toCommunicationIdentifier(userId);
1483
1501
  if (communicationCommon.isCommunicationUserIdentifier(participant)) {
1484
1502
  throw new Error('CommunicationIdentifier in Teams call is not supported!');
@@ -1487,13 +1505,13 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1487
1505
  throw new Error('Removing Microsoft Teams app identifier is not supported!');
1488
1506
  }
1489
1507
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
1490
- }), onAcceptCall: (incomingCallId, useVideo) => __awaiter$Y(void 0, void 0, void 0, function* () {
1508
+ }), onAcceptCall: (incomingCallId, useVideo) => __awaiter$Z(void 0, void 0, void 0, function* () {
1491
1509
  const localVideoStream = useVideo ? yield createLocalVideoStream(callClient) : undefined;
1492
1510
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
1493
1511
  if (incomingCall) {
1494
1512
  yield incomingCall.accept(localVideoStream ? { videoOptions: { localVideoStreams: [localVideoStream] } } : undefined);
1495
1513
  }
1496
- }), onRejectCall: (incomingCallId) => __awaiter$Y(void 0, void 0, void 0, function* () {
1514
+ }), onRejectCall: (incomingCallId) => __awaiter$Z(void 0, void 0, void 0, function* () {
1497
1515
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
1498
1516
  if (incomingCall) {
1499
1517
  yield incomingCall.reject();
@@ -1800,7 +1818,7 @@ const getCaptionsSpeakerIdentifier = (captions) => {
1800
1818
 
1801
1819
  // Copyright (c) Microsoft Corporation.
1802
1820
  // Licensed under the MIT License.
1803
- var __awaiter$X = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1821
+ var __awaiter$Y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1804
1822
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1805
1823
  return new (P || (P = Promise))(function (resolve, reject) {
1806
1824
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1881,7 +1899,7 @@ class ProxyDeviceManager {
1881
1899
  }
1882
1900
  }
1883
1901
  };
1884
- this.permissionsApiStateChangeHandler = () => __awaiter$X(this, void 0, void 0, function* () {
1902
+ this.permissionsApiStateChangeHandler = () => __awaiter$Y(this, void 0, void 0, function* () {
1885
1903
  yield this.updateDevicePermissionState();
1886
1904
  });
1887
1905
  /**
@@ -1892,13 +1910,13 @@ class ProxyDeviceManager {
1892
1910
  this.selectCamera = (videoDeviceInfo) => {
1893
1911
  this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
1894
1912
  };
1895
- this.videoDevicesUpdated = () => __awaiter$X(this, void 0, void 0, function* () {
1913
+ this.videoDevicesUpdated = () => __awaiter$Y(this, void 0, void 0, function* () {
1896
1914
  // Device Manager always has a camera with '' name if there are no real camera devices available.
1897
1915
  // We don't want to show that in the UI.
1898
1916
  const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
1899
1917
  this._context.setDeviceManagerCameras(dedupeById(realCameras));
1900
1918
  });
1901
- this.audioDevicesUpdated = () => __awaiter$X(this, void 0, void 0, function* () {
1919
+ this.audioDevicesUpdated = () => __awaiter$Y(this, void 0, void 0, function* () {
1902
1920
  this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
1903
1921
  if (this._deviceManager.isSpeakerSelectionAvailable) {
1904
1922
  this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
@@ -1910,7 +1928,7 @@ class ProxyDeviceManager {
1910
1928
  this.selectedSpeakerChanged = () => {
1911
1929
  this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);
1912
1930
  };
1913
- this.updateDevicePermissionState = (sdkDeviceAccessState) => __awaiter$X(this, void 0, void 0, function* () {
1931
+ this.updateDevicePermissionState = (sdkDeviceAccessState) => __awaiter$Y(this, void 0, void 0, function* () {
1914
1932
  let hasCameraPermission = !!(sdkDeviceAccessState === null || sdkDeviceAccessState === void 0 ? void 0 : sdkDeviceAccessState.video);
1915
1933
  let hasMicPermission = !!(sdkDeviceAccessState === null || sdkDeviceAccessState === void 0 ? void 0 : sdkDeviceAccessState.audio);
1916
1934
  // Supplement the SDK values with values from the Permissions API to get a better understanding of the device
@@ -1988,7 +2006,7 @@ class ProxyDeviceManager {
1988
2006
  }
1989
2007
  case 'askDevicePermission': {
1990
2008
  return this._context.withAsyncErrorTeedToState((...args) => {
1991
- return target.askDevicePermission(...args).then((deviceAccess) => __awaiter$X(this, void 0, void 0, function* () {
2009
+ return target.askDevicePermission(...args).then((deviceAccess) => __awaiter$Y(this, void 0, void 0, function* () {
1992
2010
  yield this.updateDevicePermissionState(deviceAccess);
1993
2011
  return deviceAccess;
1994
2012
  }));
@@ -2373,7 +2391,7 @@ class CallIdHistory {
2373
2391
 
2374
2392
  // Copyright (c) Microsoft Corporation.
2375
2393
  // Licensed under the MIT License.
2376
- var __awaiter$W = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
2394
+ var __awaiter$X = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
2377
2395
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2378
2396
  return new (P || (P = Promise))(function (resolve, reject) {
2379
2397
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -3379,7 +3397,7 @@ let CallContext$2 = class CallContext {
3379
3397
  * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
3380
3398
  */
3381
3399
  withAsyncErrorTeedToState(action, target) {
3382
- return (...args) => __awaiter$W(this, void 0, void 0, function* () {
3400
+ return (...args) => __awaiter$X(this, void 0, void 0, function* () {
3383
3401
  try {
3384
3402
  return yield action(...args);
3385
3403
  }
@@ -3920,7 +3938,7 @@ function _logStreamEvent(eventName, streamLogInfo, error) {
3920
3938
 
3921
3939
  // Copyright (c) Microsoft Corporation.
3922
3940
  // Licensed under the MIT License.
3923
- var __awaiter$V = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
3941
+ var __awaiter$W = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
3924
3942
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3925
3943
  return new (P || (P = Promise))(function (resolve, reject) {
3926
3944
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -3930,7 +3948,7 @@ var __awaiter$V = (window && window.__awaiter) || function (thisArg, _arguments,
3930
3948
  });
3931
3949
  };
3932
3950
  function createViewVideo(context, internalContext, callId, stream, participantId, options) {
3933
- return __awaiter$V(this, void 0, void 0, function* () {
3951
+ return __awaiter$W(this, void 0, void 0, function* () {
3934
3952
  // we can only have 3 types of createView
3935
3953
  let streamEventType;
3936
3954
  // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.
@@ -4059,7 +4077,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
4059
4077
  });
4060
4078
  }
4061
4079
  function createViewUnparentedVideo(context, internalContext, stream, options) {
4062
- return __awaiter$V(this, void 0, void 0, function* () {
4080
+ return __awaiter$W(this, void 0, void 0, function* () {
4063
4081
  const renderInfo = internalContext.getUnparentedRenderInfo(stream);
4064
4082
  if (renderInfo && renderInfo.status === 'Rendered') {
4065
4083
  console.warn('Unparented LocalVideoStream is already rendered');
@@ -4228,7 +4246,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
4228
4246
  // Render LocalVideoStream that is not part of a Call
4229
4247
  // 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).
4230
4248
  // We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
4231
- return context.withAsyncErrorTeedToState(() => __awaiter$V(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
4249
+ return context.withAsyncErrorTeedToState(() => __awaiter$W(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
4232
4250
  }
4233
4251
  else {
4234
4252
  _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
@@ -4414,7 +4432,7 @@ class RecordingSubscriber {
4414
4432
 
4415
4433
  // Copyright (c) Microsoft Corporation.
4416
4434
  // Licensed under the MIT License.
4417
- var __awaiter$U = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4435
+ var __awaiter$V = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4418
4436
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4419
4437
  return new (P || (P = Promise))(function (resolve, reject) {
4420
4438
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4438,7 +4456,7 @@ class PPTLiveSubscriber {
4438
4456
  this._context.setCallPPTLiveActive(this._callIdRef.callId, this._pptLive.isActive);
4439
4457
  this.checkAndUpdatePPTLiveParticipant();
4440
4458
  };
4441
- this.checkAndUpdatePPTLiveParticipant = () => __awaiter$U(this, void 0, void 0, function* () {
4459
+ this.checkAndUpdatePPTLiveParticipant = () => __awaiter$V(this, void 0, void 0, function* () {
4442
4460
  if (!this._pptLive.activePresenterId) {
4443
4461
  return;
4444
4462
  }
@@ -4547,6 +4565,7 @@ class UserFacingDiagnosticsSubscriber {
4547
4565
  /* @conditional-compile-remove(remote-ufd) */
4548
4566
  remoteDiagnosticsChanged(args) {
4549
4567
  this._context.modifyState((state) => {
4568
+ var _a;
4550
4569
  const call = state.calls[this._callIdRef.callId];
4551
4570
  if (call === undefined) {
4552
4571
  return;
@@ -4555,7 +4574,7 @@ class UserFacingDiagnosticsSubscriber {
4555
4574
  const { remoteParticipant: _, rawId } = diagnostic, participantDiagnostic = __rest(diagnostic, ["remoteParticipant", "rawId"]);
4556
4575
  const participant = call.remoteParticipants[rawId];
4557
4576
  if (participant) {
4558
- participant.diagnostics = participant.diagnostics || {};
4577
+ participant.diagnostics = (_a = participant.diagnostics) !== null && _a !== void 0 ? _a : {};
4559
4578
  participant.diagnostics[participantDiagnostic.diagnostic] = participantDiagnostic;
4560
4579
  }
4561
4580
  }
@@ -5191,7 +5210,7 @@ class IncomingCallSubscriber {
5191
5210
 
5192
5211
  // Copyright (c) Microsoft Corporation.
5193
5212
  // Licensed under the MIT License.
5194
- var __awaiter$T = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5213
+ var __awaiter$U = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5195
5214
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5196
5215
  return new (P || (P = Promise))(function (resolve, reject) {
5197
5216
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5211,14 +5230,14 @@ class ProxyIncomingCall {
5211
5230
  switch (prop) {
5212
5231
  case 'accept': {
5213
5232
  return this._context.withAsyncErrorTeedToState(function (...args) {
5214
- return __awaiter$T(this, void 0, void 0, function* () {
5233
+ return __awaiter$U(this, void 0, void 0, function* () {
5215
5234
  return yield target.accept(...args);
5216
5235
  });
5217
5236
  }, 'IncomingCall.accept');
5218
5237
  }
5219
5238
  case 'reject': {
5220
5239
  return this._context.withAsyncErrorTeedToState(function (...args) {
5221
- return __awaiter$T(this, void 0, void 0, function* () {
5240
+ return __awaiter$U(this, void 0, void 0, function* () {
5222
5241
  return yield target.reject(...args);
5223
5242
  });
5224
5243
  }, 'IncomingCall.reject');
@@ -5240,7 +5259,7 @@ const incomingCallDeclaratify = (incomingCall, context) => {
5240
5259
 
5241
5260
  // Copyright (c) Microsoft Corporation.
5242
5261
  // Licensed under the MIT License.
5243
- var __awaiter$S = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5262
+ var __awaiter$T = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5244
5263
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5245
5264
  return new (P || (P = Promise))(function (resolve, reject) {
5246
5265
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5260,14 +5279,14 @@ class ProxyTeamsIncomingCall {
5260
5279
  switch (prop) {
5261
5280
  case 'accept': {
5262
5281
  return this._context.withAsyncErrorTeedToState(function (...args) {
5263
- return __awaiter$S(this, void 0, void 0, function* () {
5282
+ return __awaiter$T(this, void 0, void 0, function* () {
5264
5283
  return yield target.accept(...args);
5265
5284
  });
5266
5285
  }, 'IncomingCall.accept');
5267
5286
  }
5268
5287
  case 'reject': {
5269
5288
  return this._context.withAsyncErrorTeedToState(function (...args) {
5270
- return __awaiter$S(this, void 0, void 0, function* () {
5289
+ return __awaiter$T(this, void 0, void 0, function* () {
5271
5290
  return yield target.reject(...args);
5272
5291
  });
5273
5292
  }, 'IncomingCall.reject');
@@ -5486,7 +5505,7 @@ const clearCallRelatedState = (context, internalContext) => {
5486
5505
 
5487
5506
  // Copyright (c) Microsoft Corporation.
5488
5507
  // Licensed under the MIT License.
5489
- var __awaiter$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5508
+ var __awaiter$S = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5490
5509
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5491
5510
  return new (P || (P = Promise))(function (resolve, reject) {
5492
5511
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5512,56 +5531,56 @@ class ProxyCallCommon {
5512
5531
  switch (prop) {
5513
5532
  case 'mute': {
5514
5533
  return this._context.withAsyncErrorTeedToState(function (...args) {
5515
- return __awaiter$R(this, void 0, void 0, function* () {
5534
+ return __awaiter$S(this, void 0, void 0, function* () {
5516
5535
  return yield target.mute(...args);
5517
5536
  });
5518
5537
  }, 'Call.mute');
5519
5538
  }
5520
5539
  case 'unmute': {
5521
5540
  return this._context.withAsyncErrorTeedToState(function (...args) {
5522
- return __awaiter$R(this, void 0, void 0, function* () {
5541
+ return __awaiter$S(this, void 0, void 0, function* () {
5523
5542
  return yield target.unmute(...args);
5524
5543
  });
5525
5544
  }, 'Call.unmute');
5526
5545
  }
5527
5546
  case 'startVideo': {
5528
5547
  return this._context.withAsyncErrorTeedToState(function (...args) {
5529
- return __awaiter$R(this, void 0, void 0, function* () {
5548
+ return __awaiter$S(this, void 0, void 0, function* () {
5530
5549
  return yield target.startVideo(...args);
5531
5550
  });
5532
5551
  }, 'Call.startVideo');
5533
5552
  }
5534
5553
  case 'stopVideo': {
5535
5554
  return this._context.withAsyncErrorTeedToState(function (...args) {
5536
- return __awaiter$R(this, void 0, void 0, function* () {
5555
+ return __awaiter$S(this, void 0, void 0, function* () {
5537
5556
  return yield target.stopVideo(...args);
5538
5557
  });
5539
5558
  }, 'Call.stopVideo');
5540
5559
  }
5541
5560
  case 'startScreenSharing': {
5542
5561
  return this._context.withAsyncErrorTeedToState(function (...args) {
5543
- return __awaiter$R(this, void 0, void 0, function* () {
5562
+ return __awaiter$S(this, void 0, void 0, function* () {
5544
5563
  return yield target.startScreenSharing(...args);
5545
5564
  });
5546
5565
  }, 'Call.startScreenSharing');
5547
5566
  }
5548
5567
  case 'stopScreenSharing': {
5549
5568
  return this._context.withAsyncErrorTeedToState(function (...args) {
5550
- return __awaiter$R(this, void 0, void 0, function* () {
5569
+ return __awaiter$S(this, void 0, void 0, function* () {
5551
5570
  return yield target.stopScreenSharing(...args);
5552
5571
  });
5553
5572
  }, 'Call.stopScreenSharing');
5554
5573
  }
5555
5574
  case 'hold': {
5556
5575
  return this._context.withAsyncErrorTeedToState(function (...args) {
5557
- return __awaiter$R(this, void 0, void 0, function* () {
5576
+ return __awaiter$S(this, void 0, void 0, function* () {
5558
5577
  return yield target.hold(...args);
5559
5578
  });
5560
5579
  }, 'Call.hold');
5561
5580
  }
5562
5581
  case 'resume': {
5563
5582
  return this._context.withAsyncErrorTeedToState(function (...args) {
5564
- return __awaiter$R(this, void 0, void 0, function* () {
5583
+ return __awaiter$S(this, void 0, void 0, function* () {
5565
5584
  return yield target.resume(...args);
5566
5585
  });
5567
5586
  }, 'Call.resume');
@@ -5628,7 +5647,7 @@ class ProxyTeamsCaptions {
5628
5647
  get(target, prop) {
5629
5648
  switch (prop) {
5630
5649
  case 'startCaptions':
5631
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5650
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5632
5651
  var _a, _b;
5633
5652
  this._context.setStartCaptionsInProgress(this._call.id, true);
5634
5653
  try {
@@ -5642,7 +5661,7 @@ class ProxyTeamsCaptions {
5642
5661
  }
5643
5662
  }), 'Call.feature');
5644
5663
  case 'stopCaptions':
5645
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5664
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5646
5665
  const ret = yield target.stopCaptions(...args);
5647
5666
  this._context.setIsCaptionActive(this._call.id, false);
5648
5667
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -5650,13 +5669,13 @@ class ProxyTeamsCaptions {
5650
5669
  return ret;
5651
5670
  }), 'Call.feature');
5652
5671
  case 'setSpokenLanguage':
5653
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5672
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5654
5673
  const ret = yield target.setSpokenLanguage(...args);
5655
5674
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
5656
5675
  return ret;
5657
5676
  }), 'Call.feature');
5658
5677
  case 'setCaptionLanguage':
5659
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5678
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5660
5679
  const ret = yield target.setCaptionLanguage(...args);
5661
5680
  this._context.setSelectedCaptionLanguage(this._call.id, args[0]);
5662
5681
  return ret;
@@ -5677,7 +5696,7 @@ class ProxyCaptions {
5677
5696
  get(target, prop) {
5678
5697
  switch (prop) {
5679
5698
  case 'startCaptions':
5680
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5699
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5681
5700
  var _a, _b;
5682
5701
  this._context.setStartCaptionsInProgress(this._call.id, true);
5683
5702
  try {
@@ -5691,7 +5710,7 @@ class ProxyCaptions {
5691
5710
  }
5692
5711
  }), 'Call.feature');
5693
5712
  case 'stopCaptions':
5694
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5713
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5695
5714
  const ret = yield target.stopCaptions(...args);
5696
5715
  this._context.setIsCaptionActive(this._call.id, false);
5697
5716
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -5699,7 +5718,7 @@ class ProxyCaptions {
5699
5718
  return ret;
5700
5719
  }), 'Call.feature');
5701
5720
  case 'setSpokenLanguage':
5702
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5721
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5703
5722
  const ret = yield target.setSpokenLanguage(...args);
5704
5723
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
5705
5724
  return ret;
@@ -5719,12 +5738,12 @@ class ProxySpotlightCallFeature {
5719
5738
  get(target, prop) {
5720
5739
  switch (prop) {
5721
5740
  case 'startSpotlight':
5722
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5741
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5723
5742
  const ret = yield target.startSpotlight(...args);
5724
5743
  return ret;
5725
5744
  }), 'Call.feature');
5726
5745
  case 'stopSpotlight':
5727
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$R(this, void 0, void 0, function* () {
5746
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$S(this, void 0, void 0, function* () {
5728
5747
  const ret = yield target.stopSpotlight(...args);
5729
5748
  return ret;
5730
5749
  }), 'Call.feature');
@@ -5766,7 +5785,7 @@ class ProxyTransferCallFeature {
5766
5785
 
5767
5786
  // Copyright (c) Microsoft Corporation.
5768
5787
  // Licensed under the MIT License.
5769
- var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5788
+ var __awaiter$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5770
5789
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5771
5790
  return new (P || (P = Promise))(function (resolve, reject) {
5772
5791
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5780,7 +5799,7 @@ class ProxyCall extends ProxyCallCommon {
5780
5799
  switch (prop) {
5781
5800
  case 'addParticipant': {
5782
5801
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
5783
- return __awaiter$Q(this, void 0, void 0, function* () {
5802
+ return __awaiter$R(this, void 0, void 0, function* () {
5784
5803
  return yield target.addParticipant(...args);
5785
5804
  });
5786
5805
  }, 'Call.addParticipant');
@@ -6015,7 +6034,7 @@ class InternalCallContext {
6015
6034
 
6016
6035
  // Copyright (c) Microsoft Corporation.
6017
6036
  // Licensed under the MIT License.
6018
- var __awaiter$P = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
6037
+ var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
6019
6038
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6020
6039
  return new (P || (P = Promise))(function (resolve, reject) {
6021
6040
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -6030,7 +6049,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
6030
6049
  /* @conditional-compile-remove(teams-identity-support-beta) */
6031
6050
  case 'addParticipant': {
6032
6051
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
6033
- return __awaiter$P(this, void 0, void 0, function* () {
6052
+ return __awaiter$Q(this, void 0, void 0, function* () {
6034
6053
  return yield target.addParticipant(...args);
6035
6054
  });
6036
6055
  }, 'TeamsCall.addParticipant');
@@ -6137,7 +6156,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
6137
6156
 
6138
6157
  // Copyright (c) Microsoft Corporation.
6139
6158
  // Licensed under the MIT License.
6140
- var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
6159
+ var __awaiter$P = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
6141
6160
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6142
6161
  return new (P || (P = Promise))(function (resolve, reject) {
6143
6162
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -6159,7 +6178,7 @@ class ProxyVideoStreamRendererView {
6159
6178
  get(target, prop) {
6160
6179
  switch (prop) {
6161
6180
  case 'updateScalingMode': {
6162
- return (...args) => __awaiter$O(this, void 0, void 0, function* () {
6181
+ return (...args) => __awaiter$P(this, void 0, void 0, function* () {
6163
6182
  yield target.updateScalingMode(...args);
6164
6183
  this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
6165
6184
  });
@@ -6180,7 +6199,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
6180
6199
 
6181
6200
  // Copyright (c) Microsoft Corporation.
6182
6201
  // Licensed under the MIT License.
6183
- var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
6202
+ var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
6184
6203
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6185
6204
  return new (P || (P = Promise))(function (resolve, reject) {
6186
6205
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -6202,7 +6221,7 @@ class ProxyCallClient {
6202
6221
  get(target, prop) {
6203
6222
  switch (prop) {
6204
6223
  case 'createCallAgent': {
6205
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$N(this, void 0, void 0, function* () {
6224
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$O(this, void 0, void 0, function* () {
6206
6225
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
6207
6226
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
6208
6227
  // callAgent if the createCallAgent succeeds.
@@ -6215,7 +6234,7 @@ class ProxyCallClient {
6215
6234
  }), 'CallClient.createCallAgent');
6216
6235
  }
6217
6236
  case 'createTeamsCallAgent': {
6218
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$N(this, void 0, void 0, function* () {
6237
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$O(this, void 0, void 0, function* () {
6219
6238
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
6220
6239
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
6221
6240
  // callAgent if the createCallAgent succeeds.
@@ -6228,7 +6247,7 @@ class ProxyCallClient {
6228
6247
  }), 'CallClient.createTeamsCallAgent');
6229
6248
  }
6230
6249
  case 'getDeviceManager': {
6231
- return this._context.withAsyncErrorTeedToState(() => __awaiter$N(this, void 0, void 0, function* () {
6250
+ return this._context.withAsyncErrorTeedToState(() => __awaiter$O(this, void 0, void 0, function* () {
6232
6251
  // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
6233
6252
  // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
6234
6253
  // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
@@ -6256,7 +6275,7 @@ class ProxyCallClient {
6256
6275
  /**
6257
6276
  * add to this object if we want to proxy anything else off the DebugInfo feature object.
6258
6277
  */
6259
- return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$N(this, void 0, void 0, function* () {
6278
+ return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$O(this, void 0, void 0, function* () {
6260
6279
  const environmentInfo = yield feature.getEnvironmentInfo();
6261
6280
  this._context.setEnvironmentInfo(environmentInfo);
6262
6281
  return environmentInfo;
@@ -6316,7 +6335,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
6316
6335
  });
6317
6336
  Object.defineProperty(callClient, 'createView', {
6318
6337
  configurable: false,
6319
- value: (callId, participantId, stream, options) => __awaiter$N(void 0, void 0, void 0, function* () {
6338
+ value: (callId, participantId, stream, options) => __awaiter$O(void 0, void 0, void 0, function* () {
6320
6339
  const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
6321
6340
  const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
6322
6341
  // We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
@@ -6551,7 +6570,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
6551
6570
  wordBreak: 'break-word'
6552
6571
  });
6553
6572
 
6554
- var participantItem$l={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$m={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$l={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$l={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$l={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var mentionPopover$l={mentionPopoverHeader:"Suggestions"};var imageOverlay$l={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$l={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$l={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$l={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$l={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$l={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$l={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$l={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$l={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$l={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$l={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$l={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$l={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"}};var videoGallery$l={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join"};var dialpad$l={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$l={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$l={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking"};var CameraAndMicrophoneSitePermissionsRequest$l={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$l={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$l={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$l={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$l={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$l={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$l={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$l={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$l={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$l={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$l={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$l={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$m={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$m={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$m={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$l={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$l={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$l={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$l={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$m={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$l,ParticipantList:ParticipantList$m,typingIndicator:typingIndicator$l,sendBox:sendBox$l,richTextSendBox:richTextSendBox$l,mentionPopover:mentionPopover$l,imageOverlay:imageOverlay$l,messageStatusIndicator:messageStatusIndicator$l,endCallButton:endCallButton$l,cameraButton:cameraButton$l,microphoneButton:microphoneButton$l,devicesButton:devicesButton$l,participantsButton:participantsButton$l,screenShareButton:screenShareButton$l,raiseHandButton:raiseHandButton$l,reactionButton:reactionButton$l,messageThread:messageThread$l,errorBar:errorBar$l,notificationStack:notificationStack$l,videoGallery:videoGallery$l,dialpad:dialpad$l,holdButton:holdButton$l,videoTile:videoTile$l,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$l,CameraSitePermissionsRequest:CameraSitePermissionsRequest$l,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$l,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$l,CameraSitePermissionsCheck:CameraSitePermissionsCheck$l,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$l,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$l,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$l,CameraSitePermissionsDenied:CameraSitePermissionsDenied$l,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$l,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$l,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$l,UnsupportedBrowser:UnsupportedBrowser$m,UnsupportedBrowserVersion:UnsupportedBrowserVersion$m,UnsupportedOperatingSystem:UnsupportedOperatingSystem$m,BrowserPermissionDenied:BrowserPermissionDenied$l,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$l,verticalGallery:verticalGallery$l,meetingConferencePhoneInfo:meetingConferencePhoneInfo$l,IncomingCallNotification:IncomingCallNotification$m};
6573
+ var participantItem$l={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$m={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$l={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$l={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$l={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var rttModal={rttModalAriaLabel:"Turn on RTT Modal",rttModalTitle:"Turn on RTT?",rttModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",rttConfirmButtonLabel:"Turn on",rttCancelButtonLabel:"Cancel",rttCloseModalButtonAriaLabel:"Close RTT Modal"};var mentionPopover$l={mentionPopoverHeader:"Suggestions"};var imageOverlay$l={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$l={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$l={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$l={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$l={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$l={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$l={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$l={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$l={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$l={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var rtt={isTypingText:"RTT typing"};var messageThread$l={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$l={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$l={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"}};var videoGallery$l={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join"};var dialpad$l={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$l={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$l={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking"};var CameraAndMicrophoneSitePermissionsRequest$l={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$l={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$l={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$l={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$l={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$l={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$l={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$l={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$l={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$l={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$l={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$l={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$m={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$m={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$m={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$l={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$l={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$l={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$l={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$m={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var rttDisclosureBanner={bannerTitle:"RTT",bannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",bannerLinkLabel:"Learn more"};var en_US$1 = {participantItem:participantItem$l,ParticipantList:ParticipantList$m,typingIndicator:typingIndicator$l,sendBox:sendBox$l,richTextSendBox:richTextSendBox$l,rttModal:rttModal,mentionPopover:mentionPopover$l,imageOverlay:imageOverlay$l,messageStatusIndicator:messageStatusIndicator$l,endCallButton:endCallButton$l,cameraButton:cameraButton$l,microphoneButton:microphoneButton$l,devicesButton:devicesButton$l,participantsButton:participantsButton$l,screenShareButton:screenShareButton$l,raiseHandButton:raiseHandButton$l,reactionButton:reactionButton$l,rtt:rtt,messageThread:messageThread$l,errorBar:errorBar$l,notificationStack:notificationStack$l,videoGallery:videoGallery$l,dialpad:dialpad$l,holdButton:holdButton$l,videoTile:videoTile$l,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$l,CameraSitePermissionsRequest:CameraSitePermissionsRequest$l,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$l,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$l,CameraSitePermissionsCheck:CameraSitePermissionsCheck$l,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$l,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$l,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$l,CameraSitePermissionsDenied:CameraSitePermissionsDenied$l,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$l,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$l,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$l,UnsupportedBrowser:UnsupportedBrowser$m,UnsupportedBrowserVersion:UnsupportedBrowserVersion$m,UnsupportedOperatingSystem:UnsupportedOperatingSystem$m,BrowserPermissionDenied:BrowserPermissionDenied$l,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$l,verticalGallery:verticalGallery$l,meetingConferencePhoneInfo:meetingConferencePhoneInfo$l,IncomingCallNotification:IncomingCallNotification$m,rttDisclosureBanner:rttDisclosureBanner};
6555
6574
 
6556
6575
  // Copyright (c) Microsoft Corporation.
6557
6576
  // Licensed under the MIT License.
@@ -7913,7 +7932,9 @@ const DEFAULT_COMPONENT_ICONS = {
7913
7932
  ContextualMenuMicMutedIcon: React.createElement(reactIcons.MicOff20Regular, null),
7914
7933
  IncomingCallNotificationRejectIcon: React.createElement(reactIcons.CallEnd20Filled, null),
7915
7934
  IncomingCallNotificationAcceptIcon: React.createElement(reactIcons.Call20Filled, null),
7916
- IncomingCallNotificationAcceptWithVideoIcon: React.createElement(reactIcons.Video20Filled, null)
7935
+ IncomingCallNotificationAcceptWithVideoIcon: React.createElement(reactIcons.Video20Filled, null),
7936
+ /* @conditional-compile-remove(rtt) */
7937
+ RTTIcon: React.createElement(reactIcons.SlideTextCall20Regular, null)
7917
7938
  };
7918
7939
 
7919
7940
  // Copyright (c) Microsoft Corporation.
@@ -9044,7 +9065,7 @@ const _MentionPopover = (props) => {
9044
9065
 
9045
9066
  // Copyright (c) Microsoft Corporation.
9046
9067
  // Licensed under the MIT License.
9047
- var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
9068
+ var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
9048
9069
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9049
9070
  return new (P || (P = Promise))(function (resolve, reject) {
9050
9071
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -9230,7 +9251,7 @@ const TextFieldWithMention = (props) => {
9230
9251
  onSuggestionSelected,
9231
9252
  updateMentionSuggestions
9232
9253
  ]);
9233
- const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$M(void 0, void 0, void 0, function* () {
9254
+ const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$N(void 0, void 0, void 0, function* () {
9234
9255
  var _a;
9235
9256
  let suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
9236
9257
  suggestions = suggestions.filter((suggestion) => suggestion.displayText.trim() !== '');
@@ -9407,7 +9428,7 @@ const TextFieldWithMention = (props) => {
9407
9428
  });
9408
9429
  }
9409
9430
  }, [updateSelectionIndexesWithMentionIfNeeded, setSelectionStartValue, setSelectionEndValue]);
9410
- const handleOnChange = React.useCallback((_b) => __awaiter$M(void 0, [_b], void 0, function* ({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) {
9431
+ const handleOnChange = React.useCallback((_b) => __awaiter$N(void 0, [_b], void 0, function* ({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) {
9411
9432
  var _c;
9412
9433
  debouncedQueryUpdate.cancel();
9413
9434
  if (event.currentTarget === null) {
@@ -9959,7 +9980,7 @@ const ATTACHMENT_CARD_MIN_PROGRESS = 0.05;
9959
9980
 
9960
9981
  // Copyright (c) Microsoft Corporation.
9961
9982
  // Licensed under the MIT License.
9962
- var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
9983
+ var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
9963
9984
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9964
9985
  return new (P || (P = Promise))(function (resolve, reject) {
9965
9986
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10048,7 +10069,7 @@ const MappedMenuItems = (menuActions, attachment, handleOnClickError) => {
10048
10069
  React.createElement(reactComponents.MenuTrigger, null,
10049
10070
  React.createElement(reactComponents.ToolbarButton, { "aria-label": localeStrings.attachmentMoreMenu, role: "button", icon: React.createElement(react.Icon, { iconName: "AttachmentMoreMenu" }) }))),
10050
10071
  React.createElement(reactComponents.MenuPopover, null,
10051
- React.createElement(reactComponents.MenuList, null, menuActions.map((menuItem, index) => (React.createElement(reactComponents.MenuItem, { "aria-label": menuItem.name, key: index, icon: menuItem.icon, onClick: () => __awaiter$L(void 0, void 0, void 0, function* () {
10072
+ React.createElement(reactComponents.MenuList, null, menuActions.map((menuItem, index) => (React.createElement(reactComponents.MenuItem, { "aria-label": menuItem.name, key: index, icon: menuItem.icon, onClick: () => __awaiter$M(void 0, void 0, void 0, function* () {
10052
10073
  try {
10053
10074
  yield menuItem.onClick(attachment);
10054
10075
  }
@@ -10183,7 +10204,7 @@ const _AttachmentUploadCards = (props) => {
10183
10204
 
10184
10205
  // Copyright (c) Microsoft Corporation.
10185
10206
  // Licensed under the MIT License.
10186
- var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10207
+ var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10187
10208
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10188
10209
  return new (P || (P = Promise))(function (resolve, reject) {
10189
10210
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10232,7 +10253,7 @@ const hasInlineImageContent = (content) => {
10232
10253
  *
10233
10254
  * @returns The updated message content.
10234
10255
  */
10235
- const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$K(void 0, void 0, void 0, function* () {
10256
+ const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$L(void 0, void 0, void 0, function* () {
10236
10257
  if (message === '') {
10237
10258
  return message;
10238
10259
  }
@@ -10324,7 +10345,7 @@ const toAttachmentMetadata = (attachmentsWithProgress) => {
10324
10345
  /**
10325
10346
  * @internal
10326
10347
  */
10327
- const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$K(void 0, void 0, void 0, function* () {
10348
+ const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$L(void 0, void 0, void 0, function* () {
10328
10349
  let newContent = content;
10329
10350
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
10330
10351
  try {
@@ -11602,7 +11623,7 @@ const removeSingleLocalBlob = (currentLocalBlobMap, imageId) => {
11602
11623
  }
11603
11624
  };
11604
11625
 
11605
- var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11626
+ var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11606
11627
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11607
11628
  return new (P || (P = Promise))(function (resolve, reject) {
11608
11629
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -11657,7 +11678,7 @@ class CopyPastePlugin {
11657
11678
  onPluginEvent(event) {
11658
11679
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
11659
11680
  if (event.eventType === PluginEventType.BeforeCutCopy) {
11660
- event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$J(this, void 0, void 0, function* () {
11681
+ event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$K(this, void 0, void 0, function* () {
11661
11682
  if (image.src.startsWith('blob:')) {
11662
11683
  const base64Data = this.imageBase64DataMap[image.id];
11663
11684
  image.src = base64Data || image.src;
@@ -12247,7 +12268,7 @@ const RichTextToolbar = (props) => {
12247
12268
  }
12248
12269
  };
12249
12270
  }, [strings.richTextToolbarMoreButtonAriaLabel, theme]);
12250
- return (React.createElement(react.CommandBar, { items: buttons, "data-testid": 'rich-text-editor-toolbar', styles: richTextToolbarStyle, overflowButtonProps: overflowButtonProps }));
12271
+ return (React.createElement(react.CommandBar, { items: buttons, "data-testid": 'rich-text-editor-toolbar', styles: richTextToolbarStyle, overflowButtonProps: overflowButtonProps, "aria-label": strings.richTextToolbarAriaLabel }));
12251
12272
  };
12252
12273
  const getCommandBarItem = ({ key, icon, onClick, text, canCheck = true, checked = false, disabled = false, theme, dataTestId }) => {
12253
12274
  return {
@@ -12520,6 +12541,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
12520
12541
  onInsertInlineImage } = props;
12521
12542
  const editor = React.useRef(null);
12522
12543
  const editorDiv = React.useRef(null);
12544
+ const toolbarRef = React.useRef(null);
12523
12545
  const theme = useTheme();
12524
12546
  const [contextMenuProps, setContextMenuProps] = React.useState(null);
12525
12547
  const previousThemeDirection = React.useRef(themeDirection(theme));
@@ -12537,6 +12559,17 @@ const RichTextEditor = React.forwardRef((props, ref) => {
12537
12559
  // This effect should only run once when the component is unmounted, so we don't need to add any dependencies
12538
12560
  // eslint-disable-next-line react-hooks/exhaustive-deps
12539
12561
  }, []);
12562
+ React.useEffect(() => {
12563
+ var _a, _b;
12564
+ if (editor.current) {
12565
+ if (showRichTextEditorFormatting) {
12566
+ (_a = toolbarRef.current) === null || _a === void 0 ? void 0 : _a.focus();
12567
+ }
12568
+ else {
12569
+ (_b = editor.current) === null || _b === void 0 ? void 0 : _b.focus();
12570
+ }
12571
+ }
12572
+ }, [showRichTextEditorFormatting]);
12540
12573
  React.useImperativeHandle(ref, () => {
12541
12574
  return {
12542
12575
  focus() {
@@ -12807,7 +12840,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
12807
12840
  }
12808
12841
  }, [theme]);
12809
12842
  return (React.createElement("div", { "data-testid": 'rich-text-editor-wrapper' },
12810
- showRichTextEditorFormatting && toolbar,
12843
+ React.createElement("div", { ref: toolbarRef }, showRichTextEditorFormatting && toolbar),
12811
12844
  React.createElement("div", { className: richTextEditorWrapperStyle(theme) },
12812
12845
  React.createElement("div", { id: "richTextSendBox", ref: editorDiv, tabIndex: 0, role: "textbox", "aria-multiline": "true", "data-testid": 'rooster-rich-text-editor', className: richTextEditorStyle(props.styles), "aria-label": placeholderText })),
12813
12846
  contextMenuProps && React.createElement(react.ContextualMenu, Object.assign({}, contextMenuProps, { calloutProps: { isBeakVisible: false } }))));
@@ -12904,15 +12937,6 @@ const RichTextInputBoxComponent = (props) => {
12904
12937
  const isRichTextEditorToolbarShown = showRichTextEditorFormatting === true;
12905
12938
  return (React.createElement(react.Icon, { iconName: isHover || isRichTextEditorToolbarShown ? 'RichTextEditorButtonIconFilled' : 'RichTextEditorButtonIcon', className: richTextFormatButtonIconStyle(theme, !disabled && (isHover || isRichTextEditorToolbarShown)) }));
12906
12939
  }, [disabled, showRichTextEditorFormatting, theme]);
12907
- React.useEffect(() => {
12908
- var _a;
12909
- if (showRichTextEditorFormatting !== undefined) {
12910
- // Focus the editor when toolbar shown/hidden
12911
- (_a = editorComponentRef.current) === null || _a === void 0 ? void 0 : _a.focus();
12912
- }
12913
- // we don't need execute this useEffect if editorComponentRef is changed
12914
- // eslint-disable-next-line react-hooks/exhaustive-deps
12915
- }, [showRichTextEditorFormatting]);
12916
12940
  const actionButtons = React.useMemo(() => {
12917
12941
  return (React.createElement(react.Stack.Item, { align: "end", className: richTextActionButtonsStackStyle },
12918
12942
  React.createElement(react.Stack, { horizontal: true },
@@ -12963,7 +12987,13 @@ const RichTextInputBoxComponent = (props) => {
12963
12987
  theme: theme,
12964
12988
  disabled: !!disabled
12965
12989
  }) },
12966
- React.createElement(react.Stack, { grow: true, horizontal: useHorizontalLayout, horizontalAlign: useHorizontalLayout ? 'end' : 'space-between', className: inputBoxContentStackStyle, wrap: useHorizontalLayout },
12990
+ React.createElement("div", { className: inputBoxContentStackStyle, style: {
12991
+ display: 'flex',
12992
+ flexGrow: 1,
12993
+ flexDirection: useHorizontalLayout ? 'row' : 'column',
12994
+ justifyContent: useHorizontalLayout ? 'flex-end' : 'space-between',
12995
+ flexWrap: useHorizontalLayout ? 'wrap' : 'nowrap'
12996
+ } },
12967
12997
  React.createElement(react.Stack, { grow: true, className: inputBoxRichTextStackStyle },
12968
12998
  React.createElement(react.Stack.Item, { className: inputBoxRichTextStackItemStyle },
12969
12999
  React.createElement(RichTextEditor, { contentModel: contentModel, initialContent: initialContent, placeholderText: placeholderText, onChange: onChange, onKeyDown: onKeyDown, ref: editorComponentRef, strings: strings, showRichTextEditorFormatting: showRichTextEditorFormatting === true, styles: richTextEditorStyle, autoFocus: autoFocus, onContentModelUpdate: onContentModelUpdate,
@@ -15288,7 +15318,7 @@ class _ErrorBoundary extends React.Component {
15288
15318
  // Copyright (c) Microsoft Corporation.
15289
15319
  // Licensed under the MIT License.
15290
15320
  /* @conditional-compile-remove(rich-text-editor) */
15291
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DMypxgeJ.js'); }));
15321
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DKtnUkjs.js'); }));
15292
15322
  /**
15293
15323
  * @private
15294
15324
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -15296,7 +15326,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
15296
15326
  *
15297
15327
  * @conditional-compile-remove(rich-text-editor)
15298
15328
  */
15299
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DMypxgeJ.js'); });
15329
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DKtnUkjs.js'); });
15300
15330
  /**
15301
15331
  * @private
15302
15332
  */
@@ -15315,7 +15345,7 @@ const ChatMessageComponentAsEditBoxPicker = (props) => {
15315
15345
 
15316
15346
  // Copyright (c) Microsoft Corporation.
15317
15347
  // Licensed under the MIT License.
15318
- var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
15348
+ var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
15319
15349
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15320
15350
  return new (P || (P = Promise))(function (resolve, reject) {
15321
15351
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -15371,7 +15401,7 @@ const ChatMyMessageComponent = (props) => {
15371
15401
  function (text,
15372
15402
  /* @conditional-compile-remove(file-sharing-acs) */
15373
15403
  attachments) {
15374
- return __awaiter$I(this, void 0, void 0, function* () {
15404
+ return __awaiter$J(this, void 0, void 0, function* () {
15375
15405
  /* @conditional-compile-remove(file-sharing-acs) */
15376
15406
  if (`attachments` in message && attachments) {
15377
15407
  message.attachments = attachments;
@@ -15768,7 +15798,7 @@ const fluentChatComponent = (props) => {
15768
15798
 
15769
15799
  // Copyright (c) Microsoft Corporation.
15770
15800
  // Licensed under the MIT License.
15771
- var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
15801
+ var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
15772
15802
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15773
15803
  return new (P || (P = Promise))(function (resolve, reject) {
15774
15804
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -15964,7 +15994,7 @@ const MessageThreadWrapper = (props) => {
15964
15994
  loadChatMessageComponentAsRichTextEditBox();
15965
15995
  }
15966
15996
  }, [richTextEditorOptions]);
15967
- const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$H(void 0, void 0, void 0, function* () {
15997
+ const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$I(void 0, void 0, void 0, function* () {
15968
15998
  if (!onDeleteMessage) {
15969
15999
  return;
15970
16000
  }
@@ -16045,7 +16075,7 @@ const MessageThreadWrapper = (props) => {
16045
16075
  */
16046
16076
  const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
16047
16077
  // we try to only send those message status if user is scrolled to the bottom.
16048
- const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$H(void 0, void 0, void 0, function* () {
16078
+ const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$I(void 0, void 0, void 0, function* () {
16049
16079
  if (!isAtBottomOfScrollRef.current ||
16050
16080
  !document.hasFocus() ||
16051
16081
  !messagesRef.current ||
@@ -16096,7 +16126,7 @@ const MessageThreadWrapper = (props) => {
16096
16126
  setIsAtBottomOfScrollRef(atBottom);
16097
16127
  }, [scrollToBottom, sendMessageStatusIfAtBottom]);
16098
16128
  // Infinite scrolling + threadInitialize function
16099
- const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$H(void 0, void 0, void 0, function* () {
16129
+ const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$I(void 0, void 0, void 0, function* () {
16100
16130
  if (!isLoadingChatMessagesRef.current) {
16101
16131
  if (onLoadPreviousChatMessages) {
16102
16132
  isLoadingChatMessagesRef.current = true;
@@ -16336,20 +16366,6 @@ const reconnectingContainer = () => react.mergeStyles({
16336
16366
  justifyContent: 'center',
16337
16367
  alignItems: 'center'
16338
16368
  });
16339
- /**
16340
- * @private
16341
- */
16342
- const reconnectingText = (theme) => react.mergeStyles({
16343
- // Position centrally on top of content. Parent must have position: relative.
16344
- height: '3rem',
16345
- lineHeight: '3rem',
16346
- justifyContent: 'center',
16347
- alignItems: 'center',
16348
- // DarkTheme check is done cause the text color should be light in both dark and light themes
16349
- // due to background overlay being dark in both themes.
16350
- color: isDarkThemed(theme) ? theme.palette.themeDarker : theme.palette.neutralLighter,
16351
- fontSize: theme.fonts.large.fontSize
16352
- });
16353
16369
  /**
16354
16370
  * @private
16355
16371
  */
@@ -16365,6 +16381,12 @@ const loadSpinnerStyles$1 = {
16365
16381
  borderWidth: '0.25em'
16366
16382
  }
16367
16383
  };
16384
+ /**
16385
+ * @private
16386
+ */
16387
+ const reconnectSpinnerStyles = () => (Object.assign(Object.assign({}, loadSpinnerStyles$1), { label: {
16388
+ color: 'white'
16389
+ }, circle: Object.assign(Object.assign({}, loadSpinnerStyles$1.circle), { maxHeight: '2rem', borderWidth: 'unset' }) }));
16368
16390
  /**
16369
16391
  * @private
16370
16392
  */
@@ -16408,6 +16430,8 @@ const invertedVideoInPipStyle = (theme) => react.mergeStyles(mediaContainer(them
16408
16430
  const StreamMedia = (props) => {
16409
16431
  const containerEl = React.useRef(null);
16410
16432
  const theme = useTheme();
16433
+ /* @conditional-compile-remove(remote-ufd) */
16434
+ const reconnectingText = useLocale$1().strings.videoTile.participantReconnecting || 'Reconnecting...';
16411
16435
  const { isMirrored, videoStreamElement, styles, loadingState = 'none' } = props;
16412
16436
  const [pipEnabled, setPipEnabled] = React.useState(false);
16413
16437
  React.useEffect(() => {
@@ -16438,8 +16462,9 @@ const StreamMedia = (props) => {
16438
16462
  React.createElement("div", { "data-ui-id": "stream-media-container", className: react.mergeStyles(isMirrored && pipEnabled ? invertedVideoInPipStyle(theme) : mediaContainer(theme), styles === null || styles === void 0 ? void 0 : styles.root), ref: containerEl }),
16439
16463
  loadingState === 'loading' && (React.createElement("div", { className: loadingSpinnerContainer() },
16440
16464
  React.createElement(react.Spinner, { "data-ui-id": "stream-media-loading-spinner", styles: loadSpinnerStyles$1 }))),
16441
- loadingState === 'reconnecting' && (React.createElement("div", { className: reconnectingContainer() },
16442
- React.createElement(react.Text, { "data-ui-id": "stream-media-reconnecting", className: reconnectingText(theme) }, "Reconnecting...")))));
16465
+ /* @conditional-compile-remove(remote-ufd) */
16466
+ loadingState === 'reconnecting' && (React.createElement(react.Stack, { className: reconnectingContainer() },
16467
+ React.createElement(react.Spinner, { "data-ui-id": "stream-media-loading-spinner", styles: reconnectSpinnerStyles(), label: reconnectingText })))));
16443
16468
  };
16444
16469
 
16445
16470
  // Copyright (c) Microsoft Corporation.
@@ -17445,6 +17470,13 @@ const drawerMenuWrapperStyles = {
17445
17470
  }
17446
17471
  };
17447
17472
 
17473
+ // Copyright (c) Microsoft Corporation.
17474
+ // Licensed under the MIT License.
17475
+ /**
17476
+ * @private
17477
+ */
17478
+ const callingComponentLogger = logger.createClientLogger('communication-react:calling-component');
17479
+
17448
17480
  // Copyright (c) Microsoft Corporation.
17449
17481
  // Licensed under the MIT License.
17450
17482
  /**
@@ -17483,6 +17515,9 @@ const useVideoStreamLifecycleMaintainer = (props) => {
17483
17515
  onDisposeStreamView === null || onDisposeStreamView === void 0 ? void 0 : onDisposeStreamView();
17484
17516
  }
17485
17517
  }
17518
+ else {
17519
+ callingComponentLogger.warning('Stream view element does not exist when disposing stream view');
17520
+ }
17486
17521
  };
17487
17522
  }, [
17488
17523
  isMirrored,
@@ -17696,7 +17731,7 @@ const useVideoTileContextualMenuProps = (props) => {
17696
17731
  if (items.length === 0) {
17697
17732
  return undefined;
17698
17733
  }
17699
- return { items, styles: {}, calloutProps: { preventDismissOnEvent: _preventDismissOnEvent } };
17734
+ return { items, styles: {}, calloutProps: { preventDismissOnEvent: _preventDismissOnEvent }, shouldFocusOnContainer: false };
17700
17735
  }, [
17701
17736
  scalingMode,
17702
17737
  strings,
@@ -19187,7 +19222,7 @@ const localVideoTileContainerStyles = {
19187
19222
 
19188
19223
  // Copyright (c) Microsoft Corporation.
19189
19224
  // Licensed under the MIT License.
19190
- var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19225
+ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19191
19226
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19192
19227
  return new (P || (P = Promise))(function (resolve, reject) {
19193
19228
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -19204,7 +19239,7 @@ const LocalVideoCameraCycleButton = (props) => {
19204
19239
  const { cameras, selectedCamera, onSelectCamera, label, ariaDescription, size } = props;
19205
19240
  const theme = react.useTheme();
19206
19241
  const [waitForCamera, setWaitForCamera] = React.useState(false);
19207
- const onChangeCameraClick = React.useCallback((device) => __awaiter$G(void 0, void 0, void 0, function* () {
19242
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$H(void 0, void 0, void 0, function* () {
19208
19243
  // Throttle changing camera to prevent too many callbacks
19209
19244
  if (onSelectCamera) {
19210
19245
  setWaitForCamera(true);
@@ -21961,7 +21996,7 @@ const DevicesButton = (props) => {
21961
21996
 
21962
21997
  // Copyright (c) Microsoft Corporation.
21963
21998
  // Licensed under the MIT License.
21964
- var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21999
+ var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21965
22000
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21966
22001
  return new (P || (P = Promise))(function (resolve, reject) {
21967
22002
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -21999,7 +22034,7 @@ const CameraButton = (props) => {
21999
22034
  const toggleAnnouncerString = React.useCallback((isCameraOn) => {
22000
22035
  setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
22001
22036
  }, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
22002
- const onToggleClick = React.useCallback(() => __awaiter$F(void 0, void 0, void 0, function* () {
22037
+ const onToggleClick = React.useCallback(() => __awaiter$G(void 0, void 0, void 0, function* () {
22003
22038
  // Throttle click on camera, need to await onToggleCamera then allow another click
22004
22039
  if (onToggleCamera) {
22005
22040
  setWaitForCamera(true);
@@ -22013,7 +22048,7 @@ const CameraButton = (props) => {
22013
22048
  }
22014
22049
  }
22015
22050
  }), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
22016
- const onChangeCameraClick = React.useCallback((device) => __awaiter$F(void 0, void 0, void 0, function* () {
22051
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$G(void 0, void 0, void 0, function* () {
22017
22052
  // Throttle changing camera to prevent too many callbacks
22018
22053
  if (onSelectCamera) {
22019
22054
  setWaitForCamera(true);
@@ -22228,7 +22263,7 @@ const menupButtonPadding = {
22228
22263
 
22229
22264
  // Copyright (c) Microsoft Corporation.
22230
22265
  // Licensed under the MIT License.
22231
- var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22266
+ var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22232
22267
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22233
22268
  return new (P || (P = Promise))(function (resolve, reject) {
22234
22269
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22269,7 +22304,7 @@ const MicrophoneButton = (props) => {
22269
22304
  const toggleAnnouncerString = React.useCallback((isMicOn) => {
22270
22305
  setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
22271
22306
  }, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
22272
- const onToggleClick = React.useCallback(() => __awaiter$E(void 0, void 0, void 0, function* () {
22307
+ const onToggleClick = React.useCallback(() => __awaiter$F(void 0, void 0, void 0, function* () {
22273
22308
  if (onToggleMicrophone) {
22274
22309
  try {
22275
22310
  yield onToggleMicrophone();
@@ -22295,7 +22330,7 @@ const MicrophoneButton = (props) => {
22295
22330
  splitButtonMenuItems.push({
22296
22331
  key: 'microphoneDNSToggle',
22297
22332
  onRender: () => {
22298
- return (React.createElement(react.Stack, { onClick: () => __awaiter$E(void 0, void 0, void 0, function* () {
22333
+ return (React.createElement(react.Stack, { onClick: () => __awaiter$F(void 0, void 0, void 0, function* () {
22299
22334
  var _a;
22300
22335
  yield ((_a = props.onClickNoiseSuppression) === null || _a === void 0 ? void 0 : _a.call(props));
22301
22336
  setAnnouncerString(props.isDeepNoiseSuppressionOn
@@ -23157,7 +23192,7 @@ const dtmfFrequencies = {
23157
23192
 
23158
23193
  // Copyright (c) Microsoft Corporation.
23159
23194
  // Licensed under the MIT License.
23160
- var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23195
+ var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23161
23196
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23162
23197
  return new (P || (P = Promise))(function (resolve, reject) {
23163
23198
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23201,10 +23236,10 @@ const DialpadButton = (props) => {
23201
23236
  const [buttonPressed, setButtonPressed] = React.useState(false);
23202
23237
  const dtmfToneSound = React.useRef(new Tone(dtmfToneAudioContext, dtmfFrequencies[digit].f1, dtmfFrequencies[digit].f2));
23203
23238
  const useLongPressProps = React.useMemo(() => ({
23204
- onClick: () => __awaiter$D(void 0, void 0, void 0, function* () {
23239
+ onClick: () => __awaiter$E(void 0, void 0, void 0, function* () {
23205
23240
  onClick(digit, index);
23206
23241
  }),
23207
- onLongPress: () => __awaiter$D(void 0, void 0, void 0, function* () {
23242
+ onLongPress: () => __awaiter$E(void 0, void 0, void 0, function* () {
23208
23243
  onLongPress(digit, index);
23209
23244
  }),
23210
23245
  touchEventsOnly: longPressTrigger === 'touch'
@@ -23564,10 +23599,9 @@ const _TagsSurvey = (props) => {
23564
23599
  if (checked) {
23565
23600
  if (issue) {
23566
23601
  setSelectedTags((prevState) => {
23567
- var _a;
23568
- const existingIssues = (_a = prevState === null || prevState === void 0 ? void 0 : prevState[issueCategory]) === null || _a === void 0 ? void 0 : _a.issues;
23569
- if (existingIssues) {
23570
- prevState[issueCategory].issues = [...existingIssues, issue];
23602
+ const category = prevState === null || prevState === void 0 ? void 0 : prevState[issueCategory];
23603
+ if (category && category.issues) {
23604
+ category.issues = [category.issues, issue];
23571
23605
  }
23572
23606
  else {
23573
23607
  prevState[issueCategory] = { issues: [issue] };
@@ -24069,6 +24103,32 @@ const displayNameClassName = react.mergeStyles({
24069
24103
  fontSize: _pxToRem(12),
24070
24104
  lineHeight: _pxToRem(16)
24071
24105
  });
24106
+ /* @conditional-compile-remove(rtt) */
24107
+ /**
24108
+ * @private
24109
+ */
24110
+ const isTypingClassName = (theme) => {
24111
+ return react.mergeStyles({
24112
+ backgroundColor: theme.palette.themeLighter,
24113
+ color: theme.palette.themeDarker,
24114
+ borderRadius: _pxToRem(4),
24115
+ marginLeft: _pxToRem(4),
24116
+ fontWeight: 400,
24117
+ paddingLeft: _pxToRem(4),
24118
+ paddingRight: _pxToRem(4),
24119
+ fontSize: _pxToRem(11),
24120
+ lineHeight: _pxToRem(16)
24121
+ });
24122
+ };
24123
+ /* @conditional-compile-remove(rtt) */
24124
+ /**
24125
+ * @private
24126
+ */
24127
+ const rttContainerClassName = (theme, isTyping) => {
24128
+ return react.mergeStyles({
24129
+ borderLeft: isTyping ? `2px solid ${theme.palette.themeLighter}` : 'none'
24130
+ });
24131
+ };
24072
24132
  /**
24073
24133
  * @private
24074
24134
  */
@@ -24373,7 +24433,7 @@ const _spokenLanguageToCaptionLanguage = {
24373
24433
 
24374
24434
  // Copyright (c) Microsoft Corporation.
24375
24435
  // Licensed under the MIT License.
24376
- var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24436
+ var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24377
24437
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24378
24438
  return new (P || (P = Promise))(function (resolve, reject) {
24379
24439
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24412,7 +24472,7 @@ const _CaptionsSettingsModal = (props) => {
24412
24472
  onDismissCaptionsSettings();
24413
24473
  }
24414
24474
  }, [onDismissCaptionsSettings]);
24415
- const onConfirm = React.useCallback(() => __awaiter$C(void 0, void 0, void 0, function* () {
24475
+ const onConfirm = React.useCallback(() => __awaiter$D(void 0, void 0, void 0, function* () {
24416
24476
  const spokenLanguageCode = selectedSpokenLanguage.key;
24417
24477
  const captionLanguageCode = selectedCaptionLanguage.key;
24418
24478
  if (isCaptionsFeatureActive) {
@@ -24509,6 +24569,49 @@ const _CaptionsSettingsModal = (props) => {
24509
24569
  React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCancelButtonLabel))))));
24510
24570
  };
24511
24571
 
24572
+ var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24573
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24574
+ return new (P || (P = Promise))(function (resolve, reject) {
24575
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
24576
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24577
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
24578
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24579
+ });
24580
+ };
24581
+ /* @conditional-compile-remove(rtt) */
24582
+ /**
24583
+ * @beta
24584
+ * a component for rtt modal
24585
+ */
24586
+ const RTTModal = (props) => {
24587
+ const { showModal, onDismissModal, onStartRTT } = props;
24588
+ const localeStrings = useLocale$1().strings.rttModal;
24589
+ const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
24590
+ const theme = react.useTheme();
24591
+ const onDismiss = React.useCallback(() => {
24592
+ if (onDismissModal) {
24593
+ onDismissModal();
24594
+ }
24595
+ }, [onDismissModal]);
24596
+ const onConfirm = React.useCallback(() => __awaiter$C(void 0, void 0, void 0, function* () {
24597
+ if (onStartRTT) {
24598
+ yield onStartRTT();
24599
+ }
24600
+ onDismiss();
24601
+ }), [onDismiss, onStartRTT]);
24602
+ const RTTModalStyle = React.useMemo(() => themedCaptionsSettingsModalStyle(theme), [theme]);
24603
+ return (React.createElement(React.Fragment, null, React.createElement(react.Modal, { titleAriaId: strings === null || strings === void 0 ? void 0 : strings.rttModalAriaLabel, isOpen: showModal, onDismiss: onDismiss, isBlocking: true, styles: RTTModalStyle },
24604
+ React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: titleContainerClassName$2 },
24605
+ React.createElement(react.Text, { className: titleClassName$2 }, strings === null || strings === void 0 ? void 0 : strings.rttModalTitle),
24606
+ React.createElement(react.IconButton, { iconProps: { iconName: 'Cancel' }, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.rttCloseModalButtonAriaLabel, onClick: onDismiss, style: { color: theme.palette.black } })),
24607
+ React.createElement(react.Text, null, strings === null || strings === void 0 ? void 0 : strings.rttModalText),
24608
+ React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: buttonsContainerClassName },
24609
+ React.createElement(react.PrimaryButton, { styles: buttonStyles(theme), onClick: onConfirm },
24610
+ React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.rttConfirmButtonLabel)),
24611
+ React.createElement(react.DefaultButton, { onClick: onDismiss, styles: buttonStyles(theme) },
24612
+ React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.rttCancelButtonLabel))))));
24613
+ };
24614
+
24512
24615
  // Copyright (c) Microsoft Corporation.
24513
24616
  // Licensed under the MIT License.
24514
24617
  /**
@@ -24696,31 +24799,38 @@ const formatMeetingId = (meetingId) => {
24696
24799
  /**
24697
24800
  * @private
24698
24801
  */
24699
- const messageTextStyle = (theme) => react.mergeStyles({
24700
- fontWeight: 400,
24701
- fontSize: _pxToRem(14),
24702
- lineHeight: _pxToRem(16),
24703
- color: theme.palette.neutralSecondary
24802
+ const messageTextStyles = (theme) => ({
24803
+ root: {
24804
+ fontWeight: 400,
24805
+ fontSize: _pxToRem(14),
24806
+ lineHeight: _pxToRem(16),
24807
+ color: theme.palette.neutralSecondary,
24808
+ marginTop: '0.25rem'
24809
+ }
24704
24810
  });
24705
24811
  /**
24706
24812
  * @private
24707
24813
  */
24708
- const titleTextClassName$1 = react.mergeStyles({
24709
- fontWeight: 400,
24710
- fontSize: _pxToRem(14),
24711
- lineHeight: _pxToRem(16),
24712
- alignSelf: 'center'
24814
+ const titleTextStyles = () => ({
24815
+ root: {
24816
+ fontWeight: 400,
24817
+ fontSize: _pxToRem(14),
24818
+ lineHeight: _pxToRem(16),
24819
+ alignSelf: 'center'
24820
+ }
24713
24821
  });
24714
24822
  /**
24715
24823
  * @private
24716
24824
  */
24717
- const containerStyles$3 = (theme) => react.mergeStyles({
24718
- boxShadow: theme.effects.elevation8,
24719
- width: '20rem',
24720
- padding: '0.75rem',
24721
- borderRadius: '0.25rem',
24722
- position: 'relative',
24723
- backgroundColor: theme.palette.white
24825
+ const containerStyles$3 = (theme) => ({
24826
+ root: {
24827
+ boxShadow: theme.effects.elevation8,
24828
+ width: '20rem',
24829
+ padding: '0.75rem',
24830
+ borderRadius: '0.25rem',
24831
+ position: 'relative',
24832
+ backgroundColor: theme.palette.white
24833
+ }
24724
24834
  });
24725
24835
  /**
24726
24836
  * @private
@@ -24735,13 +24845,25 @@ const hiddenContainerStyles = (theme) => react.mergeStyles({
24735
24845
  /**
24736
24846
  * @private
24737
24847
  */
24738
- const notificationIconClassName = react.mergeStyles({
24739
- fontSize: '1.25rem',
24740
- alignSelf: 'center',
24741
- marginRight: '0.5rem',
24742
- svg: {
24743
- width: '1.25rem',
24744
- height: '1.25rem'
24848
+ const notificationIconStyles = () => ({
24849
+ root: {
24850
+ fontSize: '1.25rem',
24851
+ alignSelf: 'center',
24852
+ marginRight: '0.5rem',
24853
+ svg: {
24854
+ width: '1.25rem',
24855
+ height: '1.25rem'
24856
+ }
24857
+ }
24858
+ });
24859
+ /**
24860
+ * @private
24861
+ */
24862
+ const notificationLinkStyles = (theme) => ({
24863
+ root: {
24864
+ color: theme.palette.themePrimary,
24865
+ fontWeight: '600',
24866
+ paddingLeft: '0.25rem'
24745
24867
  }
24746
24868
  });
24747
24869
 
@@ -24753,7 +24875,7 @@ const notificationIconClassName = react.mergeStyles({
24753
24875
  * @public
24754
24876
  */
24755
24877
  const Notification = (props) => {
24756
- var _a, _b;
24878
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
24757
24879
  const strings = props.notificationStrings;
24758
24880
  const theme = react.useTheme();
24759
24881
  const [show, setShow] = React.useState(true);
@@ -24768,16 +24890,20 @@ const Notification = (props) => {
24768
24890
  }
24769
24891
  }
24770
24892
  return (React.createElement(react.Stack, { horizontalAlign: "center" },
24771
- React.createElement(react.Stack, { "data-ui-id": "notification-bar", className: containerStyles$3(theme) },
24893
+ React.createElement(react.Stack, { "data-ui-id": "notification-bar", styles: (_b = (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root) !== null && _b !== void 0 ? _b : containerStyles$3(theme) },
24772
24894
  React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between" },
24773
24895
  React.createElement(react.Stack, { horizontal: true },
24774
- React.createElement(react.Icon, Object.assign({ className: notificationIconClassName, iconName: (_b = (_a = props.notificationIconProps) === null || _a === void 0 ? void 0 : _a.iconName) !== null && _b !== void 0 ? _b : 'ErrorBadge' }, props.notificationIconProps)),
24775
- React.createElement(react.Text, { className: titleTextClassName$1 }, strings === null || strings === void 0 ? void 0 : strings.title)),
24776
- React.createElement(react.IconButton, { iconProps: cancelIcon, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.dismissButtonAriaLabel, "aria-live": 'polite', onClick: props.onDismiss })),
24777
- React.createElement(react.Text, { className: messageTextStyle(theme), style: { marginTop: '0.25rem' } }, strings === null || strings === void 0 ? void 0 : strings.message),
24896
+ React.createElement(react.Icon, Object.assign({ styles: (_d = (_c = props.styles) === null || _c === void 0 ? void 0 : _c.icon) !== null && _d !== void 0 ? _d : notificationIconStyles(), iconName: (_f = (_e = props.notificationIconProps) === null || _e === void 0 ? void 0 : _e.iconName) !== null && _f !== void 0 ? _f : 'ErrorBadge' }, props.notificationIconProps)),
24897
+ React.createElement(react.Text, { styles: (_h = (_g = props.styles) === null || _g === void 0 ? void 0 : _g.title) !== null && _h !== void 0 ? _h : titleTextStyles() }, strings === null || strings === void 0 ? void 0 : strings.title)),
24898
+ props.onDismiss && (React.createElement(react.IconButton, { iconProps: cancelIcon, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.dismissButtonAriaLabel, "aria-live": 'polite', onClick: props.onDismiss }))),
24899
+ React.createElement("span", null,
24900
+ React.createElement(react.Text, { styles: (_k = (_j = props.styles) === null || _j === void 0 ? void 0 : _j.content) !== null && _k !== void 0 ? _k : messageTextStyles(theme) },
24901
+ " ", strings === null || strings === void 0 ? void 0 :
24902
+ strings.message),
24903
+ props.onClickLink && (strings === null || strings === void 0 ? void 0 : strings.linkLabel) && (React.createElement(react.Link, { styles: (_m = (_l = props.styles) === null || _l === void 0 ? void 0 : _l.link) !== null && _m !== void 0 ? _m : notificationLinkStyles(theme), onClick: props.onClickLink }, strings === null || strings === void 0 ? void 0 : strings.linkLabel))),
24778
24904
  React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-evenly" },
24779
- (strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel) && (React.createElement(react.DefaultButton, { onClick: props.onClickSecondaryButton, style: { marginTop: '1rem' } }, strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel)),
24780
- (strings === null || strings === void 0 ? void 0 : strings.primaryButtonLabel) && (React.createElement(react.PrimaryButton, { onClick: props.onClickPrimaryButton, style: { marginTop: '1rem' } }, strings === null || strings === void 0 ? void 0 : strings.primaryButtonLabel)))),
24905
+ (strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel) && (React.createElement(react.DefaultButton, { onClick: props.onClickSecondaryButton, styles: (_p = (_o = props.styles) === null || _o === void 0 ? void 0 : _o.secondaryButton) !== null && _p !== void 0 ? _p : { root: { marginTop: '1rem' } } }, strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel)),
24906
+ (strings === null || strings === void 0 ? void 0 : strings.primaryButtonLabel) && (React.createElement(react.PrimaryButton, { onClick: props.onClickPrimaryButton, styles: (_r = (_q = props.styles) === null || _q === void 0 ? void 0 : _q.primaryButton) !== null && _r !== void 0 ? _r : { root: { marginTop: '1rem' } } }, strings === null || strings === void 0 ? void 0 : strings.primaryButtonLabel)))),
24781
24907
  props.showStackedEffect && React.createElement(react.Stack, { className: hiddenContainerStyles(theme) })));
24782
24908
  };
24783
24909
 
@@ -24959,6 +25085,78 @@ const IncomingCallStack = (props) => {
24959
25085
  })));
24960
25086
  };
24961
25087
 
25088
+ // Copyright (c) Microsoft Corporation.
25089
+ // Licensed under the MIT License.
25090
+ /* @conditional-compile-remove(rtt) */
25091
+ /**
25092
+ * @private
25093
+ */
25094
+ const rttContainerStyles = (theme) => ({
25095
+ root: {
25096
+ boxShadow: theme.effects.elevation8,
25097
+ width: 'fit-content',
25098
+ padding: '0.75rem',
25099
+ borderRadius: '0.25rem',
25100
+ position: 'relative',
25101
+ backgroundColor: theme.palette.white
25102
+ }
25103
+ });
25104
+
25105
+ // Copyright (c) Microsoft Corporation.
25106
+ // Licensed under the MIT License.
25107
+ /* @conditional-compile-remove(rtt) */
25108
+ /* @conditional-compile-remove(rtt) */
25109
+ /**
25110
+ * @beta
25111
+ * Banner to disclose that RTT is enabled for all participants for the entire duration of the meeting.
25112
+ */
25113
+ const RTTDisclosureBanner = (props) => {
25114
+ const localeStrings = useLocale$1().strings.rttDisclosureBanner;
25115
+ const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
25116
+ const theme = react.useTheme();
25117
+ return (React.createElement(Notification, { notificationStrings: {
25118
+ title: strings.bannerTitle,
25119
+ message: strings.bannerContent,
25120
+ linkLabel: strings.bannerLinkLabel
25121
+ }, notificationIconProps: { iconName: 'RTTIcon' }, onClickLink: props.onClickLink, styles: { root: rttContainerStyles(theme) } }));
25122
+ };
25123
+
25124
+ // Copyright (c) Microsoft Corporation.
25125
+ // Licensed under the MIT License.
25126
+ /* @conditional-compile-remove(rtt) */
25127
+ /* @conditional-compile-remove(rtt) */
25128
+ /**
25129
+ * @beta
25130
+ * A component for displaying a single line of RealTimeText
25131
+ */
25132
+ const RealTimeText = (props) => {
25133
+ const { displayName, userId, captionText, onRenderAvatar, isTyping } = props;
25134
+ const theme = react.useTheme();
25135
+ const localeStrings = useLocale$1().strings.rtt;
25136
+ const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
25137
+ const personaOptions = {
25138
+ hidePersonaDetails: true,
25139
+ size: react.PersonaSize.size32,
25140
+ text: displayName,
25141
+ showOverflowTooltip: false,
25142
+ imageShouldStartVisible: true,
25143
+ initialsTextColor: 'white',
25144
+ styles: {
25145
+ root: {
25146
+ margin: '0.25rem'
25147
+ }
25148
+ }
25149
+ };
25150
+ const userIcon = onRenderAvatar ? onRenderAvatar(userId !== null && userId !== void 0 ? userId : '', personaOptions) : React.createElement(react.Persona, Object.assign({}, personaOptions));
25151
+ return (React.createElement(react.Stack, { horizontal: true, verticalAlign: "start", horizontalAlign: "start", className: rttContainerClassName(theme, isTyping !== null && isTyping !== void 0 ? isTyping : false) },
25152
+ React.createElement(react.Stack.Item, { className: iconClassName }, userIcon),
25153
+ React.createElement(react.Stack, { verticalAlign: "start", className: captionsContentContainerClassName },
25154
+ React.createElement(react.Stack, { className: displayNameContainerClassName, horizontal: true },
25155
+ React.createElement(react.Text, { className: displayNameClassName }, displayName),
25156
+ isTyping && React.createElement(react.Text, { className: isTypingClassName(theme) }, strings === null || strings === void 0 ? void 0 : strings.isTypingText)),
25157
+ React.createElement(react.Stack.Item, { className: captionClassName, dir: "auto" }, captionText))));
25158
+ };
25159
+
24962
25160
  // Copyright (c) Microsoft Corporation.
24963
25161
  // Licensed under the MIT License.
24964
25162
  /**
@@ -29752,7 +29950,7 @@ const AttachmentDownloadErrorBar = (props) => {
29752
29950
  /**
29753
29951
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
29754
29952
  */
29755
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CKSPOu5D.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
29953
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-4oy8pNfs.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
29756
29954
  /**
29757
29955
  * @private
29758
29956
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -29760,7 +29958,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
29760
29958
  *
29761
29959
  /* @conditional-compile-remove(rich-text-editor-composite-support)
29762
29960
  */
29763
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CKSPOu5D.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
29961
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-4oy8pNfs.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
29764
29962
  /**
29765
29963
  * @private
29766
29964
  */
@@ -33294,6 +33492,7 @@ const DesktopMoreButton = (props) => {
33294
33492
  } }, element));
33295
33493
  });
33296
33494
  return (React.createElement(MoreButton, Object.assign({}, props, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: {
33495
+ shouldFocusOnContainer: false,
33297
33496
  items: moreButtonContextualMenuItems,
33298
33497
  calloutProps: {
33299
33498
  preventDismissOnEvent: _preventDismissOnEvent
@@ -36514,7 +36713,7 @@ const BreakoutRoomsBanner = (props) => {
36514
36713
  primaryButtonLabel: locale.strings.call.returnFromBreakoutRoomBannerButtonLabel
36515
36714
  }, onClickButton: () => adapter.returnFromBreakoutRoom(), iconProps: { iconName: 'NotificationBarBreakoutRoomClosingSoon' } })));
36516
36715
  }
36517
- return undefined;
36716
+ return null;
36518
36717
  };
36519
36718
 
36520
36719
  // Copyright (c) Microsoft Corporation.
@@ -37604,7 +37803,8 @@ const startCallButtonContainerStyleMobile = {
37604
37803
  const startCallButtonStyleMobile = react.mergeStyles({
37605
37804
  width: '100%',
37606
37805
  maxWidth: 'unset',
37607
- borderRadius: '0.25rem'
37806
+ borderRadius: '0.25rem',
37807
+ height: '3.25rem'
37608
37808
  });
37609
37809
  /**
37610
37810
  * @private
@@ -44155,7 +44355,10 @@ exports.NotificationStack = NotificationStack;
44155
44355
  exports.ParticipantItem = ParticipantItem;
44156
44356
  exports.ParticipantList = ParticipantList$l;
44157
44357
  exports.ParticipantsButton = ParticipantsButton;
44358
+ exports.RTTDisclosureBanner = RTTDisclosureBanner;
44359
+ exports.RTTModal = RTTModal;
44158
44360
  exports.RaiseHandButton = RaiseHandButton;
44361
+ exports.RealTimeText = RealTimeText;
44159
44362
  exports.RichTextInputBoxComponent = RichTextInputBoxComponent;
44160
44363
  exports.RichTextSendBox = RichTextSendBox;
44161
44364
  exports.RichTextSendBoxErrors = RichTextSendBoxErrors;
@@ -44232,4 +44435,4 @@ exports.useTeamsCall = useTeamsCall;
44232
44435
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
44233
44436
  exports.useTeamsCallAgent = useTeamsCallAgent;
44234
44437
  exports.useTheme = useTheme;
44235
- //# sourceMappingURL=index-B2OZ_HmN.js.map
44438
+ //# sourceMappingURL=index-DIlQv9vm.js.map