@azure/communication-react 1.24.0-alpha-202501291646 → 1.24.0-alpha-202501310016

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 (107) hide show
  1. package/dist/communication-react.d.ts +115 -7
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Cq3nUCjN.js → ChatMessageComponentAsRichTextEditBox-CAFpQ8Yk.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Cq3nUCjN.js.map → ChatMessageComponentAsRichTextEditBox-CAFpQ8Yk.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DX7BSYyk.js → RichTextSendBoxWrapper-DTWPl1yi.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DX7BSYyk.js.map → RichTextSendBoxWrapper-DTWPl1yi.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-8zA739Rz.js → index-B8uYcMR8.js} +494 -101
  7. package/dist/dist-cjs/communication-react/index-B8uYcMR8.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -4
  12. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +12 -2
  13. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +9 -0
  15. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +102 -5
  16. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -0
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +8 -17
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +7 -21
  21. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +3 -11
  23. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +2 -3
  25. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +0 -1
  26. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -9
  29. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +1 -7
  31. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  32. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +61 -1
  33. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  34. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +5 -0
  35. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +110 -6
  36. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  37. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  38. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +9 -3
  39. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  40. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -0
  41. package/dist/dist-esm/calling-stateful-client/src/Converter.js +12 -0
  42. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.d.ts +16 -0
  44. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js +25 -0
  45. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js.map +1 -0
  46. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  47. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -1
  49. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +4 -4
  50. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  51. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +3 -1
  52. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +4 -0
  54. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +1 -1
  55. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.d.ts +5 -4
  57. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js +1 -1
  58. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js.map +1 -1
  59. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -2
  60. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
  61. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  62. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +5 -0
  63. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +20 -4
  64. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  65. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +22 -0
  66. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  67. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  68. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +23 -3
  70. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +4 -0
  72. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -0
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +9 -0
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +12 -0
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  78. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -0
  79. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +16 -0
  80. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  81. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +10 -1
  82. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -0
  84. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -0
  85. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  86. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.d.ts +1 -0
  87. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js +3 -1
  88. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -1
  89. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.d.ts +12 -0
  90. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js +23 -0
  91. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js.map +1 -0
  92. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +3 -0
  93. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +27 -2
  94. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  95. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +3 -0
  96. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +48 -0
  97. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  98. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +3 -0
  99. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +36 -0
  100. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  101. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.d.ts +1 -1
  102. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  103. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +3 -0
  104. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  105. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -0
  106. package/package.json +1 -1
  107. package/dist/dist-cjs/communication-react/index-8zA739Rz.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.24.0-alpha-202501291646';
191
+ var telemetryVersion = '1.24.0-alpha-202501310016';
192
192
 
193
193
 
194
194
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -528,7 +528,6 @@ const getIdentifier = (state) => toFlatCommunicationIdentifier(state.userId);
528
528
  * @private
529
529
  */
530
530
  const getLatestErrors$1 = (state) => state.latestErrors;
531
- /* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */
532
531
  /**
533
532
  * @private
534
533
  */
@@ -615,6 +614,18 @@ const getAssignedBreakoutRoom$1 = (state, props) => {
615
614
  var _a, _b;
616
615
  return (_b = (_a = state.calls[props.callId]) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.assignedBreakoutRoom;
617
616
  };
617
+ /* @conditional-compile-remove(rtt) */
618
+ /** @private */
619
+ const getRealTimeTextStatus = (state, props) => {
620
+ var _a;
621
+ return (_a = state.calls[props.callId]) === null || _a === undefined ? undefined : _a.realTimeTextFeature.isRealTimeTextFeatureActive;
622
+ };
623
+ /* @conditional-compile-remove(rtt) */
624
+ /** @private */
625
+ const getRealTimeText = (state, props) => {
626
+ var _a;
627
+ return (_a = state.calls[props.callId]) === null || _a === undefined ? undefined : _a.realTimeTextFeature.realTimeTexts;
628
+ };
618
629
  /* @conditional-compile-remove(together-mode) */
619
630
  /**
620
631
  * @private
@@ -1295,6 +1306,11 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1295
1306
  const captionsFeature = call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.Captions).captions;
1296
1307
  yield captionsFeature.setCaptionLanguage(language);
1297
1308
  });
1309
+ /* @conditional-compile-remove(rtt) */
1310
+ const onSendRealTimeText = (text, isFinalized) => __awaiter$12(undefined, undefined, undefined, function* () {
1311
+ const realTimeTextFeature = call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.RealTimeText);
1312
+ yield (realTimeTextFeature === null || realTimeTextFeature === undefined ? undefined : realTimeTextFeature.sendRealTimeText(text, isFinalized));
1313
+ });
1298
1314
  const onSubmitSurvey = (survey) => __awaiter$12(undefined, undefined, undefined, function* () { return yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
1299
1315
  const onStartSpotlight = (userIds) => __awaiter$12(undefined, undefined, undefined, function* () {
1300
1316
  const participants = userIds === null || userIds === undefined ? undefined : userIds.map((userId) => _toCommunicationIdentifier(userId));
@@ -1388,39 +1404,31 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1388
1404
  togetherModeFeature.sceneSize = { width, height };
1389
1405
  }
1390
1406
  };
1391
- /* @conditional-compile-remove(media-access) */
1392
1407
  const onForbidAudio = (userIds) => __awaiter$12(undefined, undefined, undefined, function* () {
1393
1408
  const participants = userIds === null || userIds === undefined ? undefined : userIds.map((userId) => _toCommunicationIdentifier(userId));
1394
1409
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).forbidAudio(participants));
1395
1410
  });
1396
- /* @conditional-compile-remove(media-access) */
1397
1411
  const onPermitAudio = (userIds) => __awaiter$12(undefined, undefined, undefined, function* () {
1398
1412
  const participants = userIds === null || userIds === undefined ? undefined : userIds.map((userId) => _toCommunicationIdentifier(userId));
1399
1413
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).permitAudio(participants));
1400
1414
  });
1401
- /* @conditional-compile-remove(media-access) */
1402
1415
  const onForbidOthersAudio = () => __awaiter$12(undefined, undefined, undefined, function* () {
1403
1416
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).forbidOthersAudio());
1404
1417
  });
1405
- /* @conditional-compile-remove(media-access) */
1406
1418
  const onPermitOthersAudio = () => __awaiter$12(undefined, undefined, undefined, function* () {
1407
1419
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).permitOthersAudio());
1408
1420
  });
1409
- /* @conditional-compile-remove(media-access) */
1410
1421
  const onForbidVideo = (userIds) => __awaiter$12(undefined, undefined, undefined, function* () {
1411
1422
  const participants = userIds === null || userIds === undefined ? undefined : userIds.map((userId) => _toCommunicationIdentifier(userId));
1412
1423
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).forbidVideo(participants));
1413
1424
  });
1414
- /* @conditional-compile-remove(media-access) */
1415
1425
  const onPermitVideo = (userIds) => __awaiter$12(undefined, undefined, undefined, function* () {
1416
1426
  const participants = userIds === null || userIds === undefined ? undefined : userIds.map((userId) => _toCommunicationIdentifier(userId));
1417
1427
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).permitVideo(participants));
1418
1428
  });
1419
- /* @conditional-compile-remove(media-access) */
1420
1429
  const onForbidOthersVideo = () => __awaiter$12(undefined, undefined, undefined, function* () {
1421
1430
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).forbidOthersVideo());
1422
1431
  });
1423
- /* @conditional-compile-remove(media-access) */
1424
1432
  const onPermitOthersVideo = () => __awaiter$12(undefined, undefined, undefined, function* () {
1425
1433
  yield (call === null || call === undefined ? undefined : call.feature(communicationCalling.Features.MediaAccess).permitOthersVideo());
1426
1434
  });
@@ -1482,22 +1490,16 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1482
1490
  onSetTogetherModeSceneSize,
1483
1491
  /* @conditional-compile-remove(together-mode) */
1484
1492
  onDisposeTogetherModeStreamView,
1485
- /* @conditional-compile-remove(media-access) */
1486
1493
  onForbidAudio,
1487
- /* @conditional-compile-remove(media-access) */
1488
1494
  onPermitAudio,
1489
- /* @conditional-compile-remove(media-access) */
1490
1495
  onForbidOthersAudio,
1491
- /* @conditional-compile-remove(media-access) */
1492
1496
  onPermitOthersAudio,
1493
- /* @conditional-compile-remove(media-access) */
1494
1497
  onForbidVideo,
1495
- /* @conditional-compile-remove(media-access) */
1496
1498
  onPermitVideo,
1497
- /* @conditional-compile-remove(media-access) */
1498
1499
  onForbidOthersVideo,
1499
- /* @conditional-compile-remove(media-access) */
1500
- onPermitOthersVideo
1500
+ onPermitOthersVideo,
1501
+ /* @conditional-compile-remove(rtt) */
1502
+ onSendRealTimeText
1501
1503
  };
1502
1504
  });
1503
1505
 
@@ -1657,14 +1659,13 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1657
1659
  */
1658
1660
  const notificationStackSelector = reselect.createSelector([
1659
1661
  getLatestErrors$1,
1660
- /* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */ getLatestNotifications,
1662
+ getLatestNotifications,
1661
1663
  getDiagnostics,
1662
1664
  getDeviceManager$1,
1663
1665
  getEnvironmentInfo$1,
1664
1666
  getMeetingConferencePhones,
1665
1667
  /* @conditional-compile-remove(breakout-rooms) */ getAssignedBreakoutRoom$1
1666
- ], (latestErrors,
1667
- /* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */ /* @conditional-compile-remove(together-mode) */ latestNotifications, diagnostics, deviceManager, environmentInfo, meetingConference,
1668
+ ], (latestErrors, latestNotifications, diagnostics, deviceManager, environmentInfo, meetingConference,
1668
1669
  /* @conditional-compile-remove(breakout-rooms) */ assignedBreakoutRoom) => {
1669
1670
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
1670
1671
  // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.
@@ -1775,8 +1776,11 @@ const notificationStackSelector = reselect.createSelector([
1775
1776
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');
1776
1777
  }
1777
1778
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');
1778
- appendMuteByOthersNotificationTrampoline(activeErrorMessages, latestErrors,
1779
- /* @conditional-compile-remove(media-access) */ latestNotifications);
1779
+ if (latestNotifications &&
1780
+ !latestNotifications['capabilityUnmuteMicAbsent'] &&
1781
+ !latestNotifications['capabilityUnmuteMicPresent']) {
1782
+ appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.mutedByOthers', 'mutedByRemoteParticipant');
1783
+ }
1780
1784
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');
1781
1785
  if (((_s = latestErrors['CallAgent.join']) === null || _s === undefined ? undefined : _s.message) === 'CallAgent.join: Invalid meeting link') {
1782
1786
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');
@@ -1833,28 +1837,24 @@ const notificationStackSelector = reselect.createSelector([
1833
1837
  timestamp: latestNotifications['breakoutRoomClosingSoon'].timestamp
1834
1838
  });
1835
1839
  }
1836
- /* @conditional-compile-remove(media-access) */
1837
1840
  if (latestNotifications['capabilityTurnVideoOnPresent']) {
1838
1841
  activeNotifications.push({
1839
1842
  type: 'capabilityTurnVideoOnPresent',
1840
1843
  timestamp: latestNotifications['capabilityTurnVideoOnPresent'].timestamp
1841
1844
  });
1842
1845
  }
1843
- /* @conditional-compile-remove(media-access) */
1844
1846
  if (latestNotifications['capabilityTurnVideoOnAbsent']) {
1845
1847
  activeNotifications.push({
1846
1848
  type: 'capabilityTurnVideoOnAbsent',
1847
1849
  timestamp: latestNotifications['capabilityTurnVideoOnAbsent'].timestamp
1848
1850
  });
1849
1851
  }
1850
- /* @conditional-compile-remove(media-access) */
1851
1852
  if (latestNotifications['capabilityUnmuteMicPresent']) {
1852
1853
  activeNotifications.push({
1853
1854
  type: 'capabilityUnmuteMicPresent',
1854
1855
  timestamp: latestNotifications['capabilityUnmuteMicPresent'].timestamp
1855
1856
  });
1856
1857
  }
1857
- /* @conditional-compile-remove(media-access) */
1858
1858
  if (latestNotifications['capabilityUnmuteMicAbsent']) {
1859
1859
  activeNotifications.push({
1860
1860
  type: 'capabilityUnmuteMicAbsent',
@@ -1888,16 +1888,6 @@ const appendActiveErrorIfDefined$1 = (activeErrorMessages, latestErrors, target,
1888
1888
  timestamp: latestErrors[target].timestamp
1889
1889
  });
1890
1890
  };
1891
- const appendMuteByOthersNotificationTrampoline = (activeErrorMessages, latestErrors, latestNotifications) => {
1892
- /* @conditional-compile-remove(media-access) */
1893
- if (latestNotifications &&
1894
- !latestNotifications['capabilityUnmuteMicAbsent'] &&
1895
- !latestNotifications['capabilityUnmuteMicPresent']) {
1896
- appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.mutedByOthers', 'mutedByRemoteParticipant');
1897
- }
1898
- /* @conditional-compile-remove(media-access) */
1899
- return;
1900
- };
1901
1891
 
1902
1892
  // Copyright (c) Microsoft Corporation.
1903
1893
  // Licensed under the MIT License.
@@ -1968,9 +1958,24 @@ const captionSettingsSelector = reselect__namespace.createSelector([
1968
1958
  *
1969
1959
  * @public
1970
1960
  */
1971
- const captionsBannerSelector = reselect__namespace.createSelector([getCaptions, getCaptionsStatus$1, getStartCaptionsInProgress, getRemoteParticipants$1, getDisplayName$2, getIdentifier], (captions, isCaptionsFeatureActive, startCaptionsInProgress, remoteParticipants, displayName, identifier) => {
1961
+ const captionsBannerSelector = reselect__namespace.createSelector([
1962
+ getCaptions,
1963
+ /* @conditional-compile-remove(rtt) */
1964
+ getRealTimeText,
1965
+ getCaptionsStatus$1,
1966
+ /* @conditional-compile-remove(rtt) */
1967
+ getRealTimeTextStatus,
1968
+ getStartCaptionsInProgress,
1969
+ getRemoteParticipants$1,
1970
+ getDisplayName$2,
1971
+ getIdentifier
1972
+ ], (captions,
1973
+ /* @conditional-compile-remove(rtt) */
1974
+ realTimeTexts, isCaptionsFeatureActive,
1975
+ /* @conditional-compile-remove(rtt) */
1976
+ isRealTimeTextActive, startCaptionsInProgress, remoteParticipants, displayName, identifier) => {
1977
+ var _a, _b;
1972
1978
  const captionsInfo = captions === null || captions === undefined ? undefined : captions.map((c, index) => {
1973
- var _a;
1974
1979
  const userId = getCaptionsSpeakerIdentifier(c);
1975
1980
  let finalDisplayName;
1976
1981
  if (userId === identifier) {
@@ -1985,19 +1990,99 @@ const captionsBannerSelector = reselect__namespace.createSelector([getCaptions,
1985
1990
  return {
1986
1991
  id: (finalDisplayName !== null && finalDisplayName !== undefined ? finalDisplayName : 'Unnamed Participant') + index,
1987
1992
  displayName: finalDisplayName !== null && finalDisplayName !== undefined ? finalDisplayName : 'Unnamed Participant',
1988
- captionText: (_a = c.captionText) !== null && _a !== undefined ? _a : '',
1989
- userId
1993
+ captionText: c.captionText,
1994
+ userId,
1995
+ createdTimeStamp: c.timestamp
1990
1996
  };
1991
1997
  });
1998
+ /* @conditional-compile-remove(rtt) */
1999
+ const completedRealTimeTexts = (_a = realTimeTexts === null || realTimeTexts === undefined ? undefined : realTimeTexts.completedMessages) === null || _a === undefined ? undefined : _a.filter((rtt) => rtt.message !== '').map((rtt) => {
2000
+ const userId = getRealTimeTextSpeakerIdentifier(rtt);
2001
+ return {
2002
+ id: rtt.sequenceId,
2003
+ displayName: getRealTimeTextDisplayName(rtt, identifier, remoteParticipants, displayName, userId),
2004
+ message: rtt.message,
2005
+ userId,
2006
+ isTyping: rtt.resultType === 'Partial',
2007
+ isMe: rtt.isMe,
2008
+ finalizedTimeStamp: rtt.updatedTimestamp
2009
+ };
2010
+ });
2011
+ /* @conditional-compile-remove(rtt) */
2012
+ const inProgressRealTimeTexts = (_b = realTimeTexts === null || realTimeTexts === undefined ? undefined : realTimeTexts.currentInProgress) === null || _b === undefined ? undefined : _b.filter((rtt) => rtt.message !== '').map((rtt) => {
2013
+ const userId = getRealTimeTextSpeakerIdentifier(rtt);
2014
+ return {
2015
+ id: rtt.sequenceId,
2016
+ displayName: getRealTimeTextDisplayName(rtt, identifier, remoteParticipants, displayName, userId),
2017
+ message: rtt.message,
2018
+ userId,
2019
+ isTyping: rtt.resultType === 'Partial',
2020
+ isMe: rtt.isMe,
2021
+ finalizedTimeStamp: rtt.updatedTimestamp
2022
+ };
2023
+ });
2024
+ /* @conditional-compile-remove(rtt) */
2025
+ const myInProgress = (realTimeTexts === null || realTimeTexts === undefined ? undefined : realTimeTexts.myInProgress) && realTimeTexts.myInProgress.message !== ''
2026
+ ? {
2027
+ id: realTimeTexts.myInProgress.sequenceId,
2028
+ displayName: displayName,
2029
+ message: realTimeTexts.myInProgress.message,
2030
+ userId: identifier,
2031
+ isTyping: realTimeTexts.myInProgress.resultType === 'Partial',
2032
+ isMe: true,
2033
+ finalizedTimeStamp: realTimeTexts.myInProgress.updatedTimestamp
2034
+ }
2035
+ : undefined;
2036
+ /* @conditional-compile-remove(rtt) */
2037
+ // find the last final local real time text caption if myInProgress is not available
2038
+ let latestLocalRealTimeText;
2039
+ /* @conditional-compile-remove(rtt) */
2040
+ if (!myInProgress) {
2041
+ latestLocalRealTimeText =
2042
+ realTimeTexts &&
2043
+ realTimeTexts.completedMessages &&
2044
+ realTimeTexts.completedMessages
2045
+ .slice()
2046
+ .reverse()
2047
+ .find((rtt) => rtt.isMe);
2048
+ }
1992
2049
  return {
1993
2050
  captions: captionsInfo !== null && captionsInfo !== undefined ? captionsInfo : [],
2051
+ /* @conditional-compile-remove(rtt) */
2052
+ realTimeTexts: {
2053
+ completedMessages: completedRealTimeTexts,
2054
+ currentInProgress: inProgressRealTimeTexts,
2055
+ myInProgress: myInProgress
2056
+ },
1994
2057
  isCaptionsOn: isCaptionsFeatureActive !== null && isCaptionsFeatureActive !== undefined ? isCaptionsFeatureActive : false,
1995
- startCaptionsInProgress: startCaptionsInProgress !== null && startCaptionsInProgress !== undefined ? startCaptionsInProgress : false
2058
+ startCaptionsInProgress: startCaptionsInProgress !== null && startCaptionsInProgress !== undefined ? startCaptionsInProgress : false,
2059
+ /* @conditional-compile-remove(rtt) */
2060
+ isRealTimeTextOn: isRealTimeTextActive !== null && isRealTimeTextActive !== undefined ? isRealTimeTextActive : false,
2061
+ /* @conditional-compile-remove(rtt) */
2062
+ latestLocalRealTimeText: (myInProgress !== null && myInProgress !== undefined ? myInProgress : latestLocalRealTimeText)
1996
2063
  };
1997
2064
  });
1998
2065
  const getCaptionsSpeakerIdentifier = (captions) => {
1999
2066
  return captions.speaker.identifier ? toFlatCommunicationIdentifier(captions.speaker.identifier) : '';
2000
2067
  };
2068
+ /* @conditional-compile-remove(rtt) */
2069
+ const getRealTimeTextSpeakerIdentifier = (realTimeText) => {
2070
+ return realTimeText.sender.identifier ? toFlatCommunicationIdentifier(realTimeText.sender.identifier) : '';
2071
+ };
2072
+ /* @conditional-compile-remove(rtt) */
2073
+ const getRealTimeTextDisplayName = (realTimeText, identifier, remoteParticipants, displayName, userId) => {
2074
+ let finalDisplayName;
2075
+ if (userId === identifier) {
2076
+ finalDisplayName = displayName;
2077
+ }
2078
+ else if (remoteParticipants) {
2079
+ const participant = remoteParticipants[userId];
2080
+ if (participant) {
2081
+ finalDisplayName = participant.displayName;
2082
+ }
2083
+ }
2084
+ return finalDisplayName !== null && finalDisplayName !== undefined ? finalDisplayName : 'Unnamed Participant';
2085
+ };
2001
2086
 
2002
2087
  // Copyright (c) Microsoft Corporation.
2003
2088
  // Licensed under the MIT License.
@@ -2408,6 +2493,11 @@ function convertSdkCallToDeclarativeCall(call) {
2408
2493
  startCaptionsInProgress: false,
2409
2494
  captionsKind: _isTeamsCall(call) ? 'TeamsCaptions' : 'Captions'
2410
2495
  },
2496
+ /* @conditional-compile-remove(rtt) */
2497
+ realTimeTextFeature: {
2498
+ realTimeTexts: {},
2499
+ isRealTimeTextFeatureActive: false
2500
+ },
2411
2501
  transfer: {
2412
2502
  acceptedTransfers: {}
2413
2503
  },
@@ -2466,6 +2556,13 @@ function convertFromTeamsSDKToCaptionInfoState(caption) {
2466
2556
  function convertFromSDKToCaptionInfoState(caption) {
2467
2557
  return Object.assign({ captionText: caption.spokenText }, caption);
2468
2558
  }
2559
+ /* @conditional-compile-remove(rtt) */
2560
+ /**
2561
+ * @private
2562
+ */
2563
+ function convertFromSDKRealTimeTextToRealTimeTextInfoState(realTimeText) {
2564
+ return Object.assign({ message: realTimeText.text, isMe: realTimeText.isLocal }, realTimeText);
2565
+ }
2469
2566
  /** @private */
2470
2567
  function convertFromSDKToDeclarativeVideoStreamVideoEffects(videoEffects) {
2471
2568
  return {
@@ -3546,10 +3643,92 @@ let CallContext$2 = class CallContext {
3546
3643
  this._atomicId++;
3547
3644
  return id;
3548
3645
  }
3646
+ /* @conditional-compile-remove(rtt) */
3647
+ processNewRealTimeText(realTimeTexts, newRealTimeText) {
3648
+ var _a, _b, _c, _d, _e;
3649
+ // if the new message is final, push it to completed messages
3650
+ if (newRealTimeText.resultType === 'Final') {
3651
+ if (!realTimeTexts.completedMessages) {
3652
+ realTimeTexts.completedMessages = [];
3653
+ }
3654
+ (_a = realTimeTexts.completedMessages) === null || _a === undefined ? undefined : _a.push(newRealTimeText);
3655
+ // clear the corresponding in progress message
3656
+ if (newRealTimeText.isMe) {
3657
+ realTimeTexts.myInProgress = undefined;
3658
+ }
3659
+ else {
3660
+ realTimeTexts.currentInProgress = (_b = realTimeTexts.currentInProgress) === null || _b === undefined ? undefined : _b.filter((message) => message.sequenceId !== newRealTimeText.sequenceId);
3661
+ }
3662
+ }
3663
+ else {
3664
+ // if receive partial real time text
3665
+ // if message is from me, assign it to myInProgress
3666
+ if (newRealTimeText.isMe) {
3667
+ realTimeTexts.myInProgress = newRealTimeText;
3668
+ }
3669
+ // if message is from others, assign it to currentInProgress
3670
+ else {
3671
+ if (!realTimeTexts.currentInProgress) {
3672
+ realTimeTexts.currentInProgress = [];
3673
+ realTimeTexts.currentInProgress.push(newRealTimeText);
3674
+ return;
3675
+ }
3676
+ // find the index of the existing in progress message
3677
+ // replace the existing in progress message with the new one
3678
+ const existingIndex = (_c = realTimeTexts.currentInProgress) === null || _c === undefined ? undefined : _c.findIndex((message) => message.sequenceId === newRealTimeText.sequenceId);
3679
+ if (existingIndex === -1) {
3680
+ (_d = realTimeTexts.currentInProgress) === null || _d === undefined ? undefined : _d.push(newRealTimeText);
3681
+ }
3682
+ else {
3683
+ realTimeTexts.currentInProgress[existingIndex] = newRealTimeText;
3684
+ }
3685
+ }
3686
+ }
3687
+ // edge case check for in progress messages time out
3688
+ if (!realTimeTexts.completedMessages) {
3689
+ realTimeTexts.completedMessages = [];
3690
+ }
3691
+ this.findTimeoutRealTimeText(realTimeTexts.currentInProgress, realTimeTexts.completedMessages);
3692
+ this.findTimeoutRealTimeText(realTimeTexts.myInProgress, realTimeTexts.completedMessages);
3693
+ // we only want to store up to 50 finalized messages
3694
+ if (realTimeTexts.completedMessages && ((_e = realTimeTexts.completedMessages) === null || _e === undefined ? undefined : _e.length) > 50) {
3695
+ realTimeTexts.completedMessages.shift();
3696
+ }
3697
+ }
3698
+ /* @conditional-compile-remove(rtt) */
3699
+ findTimeoutRealTimeText(inProgressRealTimeTexts, completedRealTimeTexts) {
3700
+ // if inProgressRealTimeTexts is an array
3701
+ if (inProgressRealTimeTexts && Array.isArray(inProgressRealTimeTexts)) {
3702
+ // find the in progress real time text that has not been updated for 5 seconds
3703
+ inProgressRealTimeTexts.forEach((realTimeText, index) => {
3704
+ if (realTimeText.updatedTimestamp && Date.now() - realTimeText.updatedTimestamp.getTime() > 5000) {
3705
+ // turn the in progress real time text to final
3706
+ realTimeText.resultType = 'Final';
3707
+ // move the in progress real time text to completed
3708
+ completedRealTimeTexts.push(realTimeText);
3709
+ // remove the in progress real time text from in progress
3710
+ inProgressRealTimeTexts && inProgressRealTimeTexts.splice(index, 1);
3711
+ }
3712
+ });
3713
+ }
3714
+ else {
3715
+ // if inProgressRealTimeTexts is a single object
3716
+ if (inProgressRealTimeTexts &&
3717
+ inProgressRealTimeTexts.updatedTimestamp &&
3718
+ Date.now() - inProgressRealTimeTexts.updatedTimestamp.getTime() > 5000) {
3719
+ // turn the in progress real time text to final
3720
+ inProgressRealTimeTexts.resultType = 'Final';
3721
+ // move the in progress real time text to completed
3722
+ completedRealTimeTexts.push(inProgressRealTimeTexts);
3723
+ // remove the in progress real time text from in progress
3724
+ inProgressRealTimeTexts = undefined;
3725
+ }
3726
+ }
3727
+ }
3549
3728
  processNewCaption(captions, newCaption) {
3550
3729
  var _a;
3551
3730
  // time stamp when new caption comes in
3552
- newCaption.timestamp = new Date();
3731
+ newCaption.lastUpdatedTimestamp = new Date();
3553
3732
  // if this is the first caption, push it in
3554
3733
  if (captions.length === 0) {
3555
3734
  captions.push(newCaption);
@@ -3570,8 +3749,8 @@ let CallContext$2 = class CallContext {
3570
3749
  }
3571
3750
  // if different speaker, ignore the interjector until the current speaker finishes
3572
3751
  // edge case: if we dont receive the final caption from the current speaker for 5 secs, we turn the current speaker caption to final and push in the new interjector
3573
- else if (lastCaption) {
3574
- if (Date.now() - lastCaption.timestamp.getTime() > 5000) {
3752
+ else if (lastCaption === null || lastCaption === undefined ? undefined : lastCaption.lastUpdatedTimestamp) {
3753
+ if (Date.now() - lastCaption.lastUpdatedTimestamp.getTime() > 5000) {
3575
3754
  lastCaption.resultType = 'Final';
3576
3755
  captions.push(newCaption);
3577
3756
  }
@@ -3584,22 +3763,33 @@ let CallContext$2 = class CallContext {
3584
3763
  }
3585
3764
  addTeamsCaption(callId, caption) {
3586
3765
  this.modifyState((draft) => {
3766
+ var _a;
3587
3767
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
3588
3768
  if (call) {
3589
3769
  const currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;
3590
3770
  if (caption.captionLanguage.toUpperCase() === currentCaptionLanguage.toUpperCase() ||
3591
3771
  currentCaptionLanguage === '' ||
3592
3772
  currentCaptionLanguage === undefined) {
3593
- this.processNewCaption(call.captionsFeature.captions, convertFromTeamsSDKToCaptionInfoState(caption));
3773
+ this.processNewCaption((_a = call === null || call === undefined ? undefined : call.captionsFeature.captions) !== null && _a !== undefined ? _a : [], convertFromTeamsSDKToCaptionInfoState(caption));
3594
3774
  }
3595
3775
  }
3596
3776
  });
3597
3777
  }
3598
3778
  addCaption(callId, caption) {
3779
+ this.modifyState((draft) => {
3780
+ var _a;
3781
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
3782
+ if (call) {
3783
+ this.processNewCaption((_a = call === null || call === undefined ? undefined : call.captionsFeature.captions) !== null && _a !== undefined ? _a : [], convertFromSDKToCaptionInfoState(caption));
3784
+ }
3785
+ });
3786
+ }
3787
+ /* @conditional-compile-remove(rtt) */
3788
+ addRealTimeText(callId, realTimeText) {
3599
3789
  this.modifyState((draft) => {
3600
3790
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
3601
3791
  if (call) {
3602
- this.processNewCaption(call.captionsFeature.captions, convertFromSDKToCaptionInfoState(caption));
3792
+ this.processNewRealTimeText(call.realTimeTextFeature.realTimeTexts, convertFromSDKRealTimeTextToRealTimeTextInfoState(realTimeText));
3603
3793
  }
3604
3794
  });
3605
3795
  }
@@ -3615,7 +3805,7 @@ let CallContext$2 = class CallContext {
3615
3805
  this.modifyState((draft) => {
3616
3806
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
3617
3807
  if (call) {
3618
- call.captionsFeature.captions = [];
3808
+ call.captionsFeature.captions = call.captionsFeature.captions.filter((c) => 'message' in c);
3619
3809
  }
3620
3810
  });
3621
3811
  }
@@ -3627,6 +3817,15 @@ let CallContext$2 = class CallContext {
3627
3817
  }
3628
3818
  });
3629
3819
  }
3820
+ /* @conditional-compile-remove(rtt) */
3821
+ setIsRealTimeTextActive(callId, isRealTimeTextActive) {
3822
+ this.modifyState((draft) => {
3823
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
3824
+ if (call) {
3825
+ call.realTimeTextFeature.isRealTimeTextFeatureActive = isRealTimeTextActive;
3826
+ }
3827
+ });
3828
+ }
3630
3829
  setStartCaptionsInProgress(callId, startCaptionsInProgress) {
3631
3830
  this.modifyState((draft) => {
3632
3831
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -5432,6 +5631,31 @@ class MediaAccessSubscriber {
5432
5631
  }
5433
5632
  }
5434
5633
 
5634
+ // Copyright (c) Microsoft Corporation.
5635
+ // Licensed under the MIT License.
5636
+ /* @conditional-compile-remove(rtt) */
5637
+ /**
5638
+ * @private
5639
+ */
5640
+ class RealTimeTextSubscriber {
5641
+ constructor(callIdRef, context, realTimeText) {
5642
+ this.subscribe = () => {
5643
+ this._realTimeTextFeature.on('realTimeTextReceived', this.realTimeTextReceived);
5644
+ };
5645
+ this.unsubscribe = () => {
5646
+ this._realTimeTextFeature.off('realTimeTextReceived', this.realTimeTextReceived);
5647
+ };
5648
+ this.realTimeTextReceived = (data) => {
5649
+ this._context.setIsRealTimeTextActive(this._callIdRef.callId, true);
5650
+ this._context.addRealTimeText(this._callIdRef.callId, data);
5651
+ };
5652
+ this._callIdRef = callIdRef;
5653
+ this._context = context;
5654
+ this._realTimeTextFeature = realTimeText;
5655
+ this.subscribe();
5656
+ }
5657
+ }
5658
+
5435
5659
  // Copyright (c) Microsoft Corporation.
5436
5660
  // Licensed under the MIT License.
5437
5661
  /**
@@ -5478,7 +5702,7 @@ class CallSubscriber {
5478
5702
  }
5479
5703
  };
5480
5704
  this.unsubscribe = () => {
5481
- var _a, _b, _c, _d;
5705
+ var _a, _b, _c, _d, _e;
5482
5706
  this._call.off('stateChanged', this.stateChanged);
5483
5707
  this._call.off('stateChanged', this._safeSubscribeInitCaptionSubscriber);
5484
5708
  this._call.off('stateChanged', this._safeSubscribeInitTeamsMeetingConference);
@@ -5512,9 +5736,11 @@ class CallSubscriber {
5512
5736
  this._optimalVideoCountSubscriber.unsubscribe();
5513
5737
  this._pptLiveSubscriber.unsubscribe();
5514
5738
  (_b = this._CaptionsFeatureSubscriber) === null || _b === undefined ? undefined : _b.unsubscribe();
5515
- (_c = this._raiseHandSubscriber) === null || _c === undefined ? undefined : _c.unsubscribe();
5739
+ /* @conditional-compile-remove(rtt) */
5740
+ (_c = this._realTimeTextSubscriber) === null || _c === undefined ? undefined : _c.unsubscribe();
5741
+ (_d = this._raiseHandSubscriber) === null || _d === undefined ? undefined : _d.unsubscribe();
5516
5742
  this._capabilitiesSubscriber.unsubscribe();
5517
- (_d = this._reactionSubscriber) === null || _d === undefined ? undefined : _d.unsubscribe();
5743
+ (_e = this._reactionSubscriber) === null || _e === undefined ? undefined : _e.unsubscribe();
5518
5744
  this._spotlightSubscriber.unsubscribe();
5519
5745
  /* @conditional-compile-remove(breakout-rooms) */
5520
5746
  this._breakoutRoomsSubscriber.unsubscribe();
@@ -5643,6 +5869,8 @@ class CallSubscriber {
5643
5869
  /* @conditional-compile-remove(together-mode) */
5644
5870
  this._togetherModeSubscriber = new TogetherModeSubscriber(this._callIdRef, this._context, this._internalContext, this._call.feature(communicationCalling.Features.TogetherMode));
5645
5871
  this._mediaAccessSubscriber = new MediaAccessSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.MediaAccess));
5872
+ /* @conditional-compile-remove(rtt) */
5873
+ this._realTimeTextSubscriber = new RealTimeTextSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.RealTimeText));
5646
5874
  this.subscribe();
5647
5875
  }
5648
5876
  // This is a helper function to safely call subscriber functions. This is needed in order to prevent events
@@ -7316,7 +7544,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
7316
7544
  wordBreak: 'break-word'
7317
7545
  });
7318
7546
 
7319
- var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={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$n={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$n={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 realTimeTextModal={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={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$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={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$n={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$n={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$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton={onLabel:"Turn on RTT for this call",tooltipOnContent:"RTT is turned on for this call"};var messageThread$n={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:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",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$n={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$n={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"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"}};var videoGallery$n={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",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={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$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={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$n={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$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={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$o={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$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton,messageThread:messageThread$n,errorBar:errorBar$n,notificationStack:notificationStack$n,videoGallery:videoGallery$n,dialpad:dialpad$n,holdButton:holdButton$n,videoTile:videoTile$n,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$n,CameraSitePermissionsRequest:CameraSitePermissionsRequest$n,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$n,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$n,CameraSitePermissionsCheck:CameraSitePermissionsCheck$n,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$n,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$n,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$n,CameraSitePermissionsDenied:CameraSitePermissionsDenied$n,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$n,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$n,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$n,UnsupportedBrowser:UnsupportedBrowser$o,UnsupportedBrowserVersion:UnsupportedBrowserVersion$o,UnsupportedOperatingSystem:UnsupportedOperatingSystem$o,BrowserPermissionDenied:BrowserPermissionDenied$n,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$n,verticalGallery:verticalGallery$n,meetingConferencePhoneInfo:meetingConferencePhoneInfo$n,IncomingCallNotification:IncomingCallNotification$o};
7547
+ var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={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$n={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$n={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 realTimeTextModal={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={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$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={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$n={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$n={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$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton={label:"Turn on RTT for this call",tooltipOffContent:"Turn on RTT for this call"};var messageThread$n={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:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",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$n={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$n={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"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"}};var videoGallery$n={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",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$n={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$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={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$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={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$n={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$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={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$o={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$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton,messageThread:messageThread$n,errorBar:errorBar$n,notificationStack:notificationStack$n,videoGallery:videoGallery$n,dialpad:dialpad$n,holdButton:holdButton$n,videoTile:videoTile$n,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$n,CameraSitePermissionsRequest:CameraSitePermissionsRequest$n,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$n,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$n,CameraSitePermissionsCheck:CameraSitePermissionsCheck$n,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$n,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$n,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$n,CameraSitePermissionsDenied:CameraSitePermissionsDenied$n,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$n,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$n,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$n,UnsupportedBrowser:UnsupportedBrowser$o,UnsupportedBrowserVersion:UnsupportedBrowserVersion$o,UnsupportedOperatingSystem:UnsupportedOperatingSystem$o,BrowserPermissionDenied:BrowserPermissionDenied$n,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$n,verticalGallery:verticalGallery$n,meetingConferencePhoneInfo:meetingConferencePhoneInfo$n,IncomingCallNotification:IncomingCallNotification$o};
7320
7548
 
7321
7549
  // Copyright (c) Microsoft Corporation.
7322
7550
  // Licensed under the MIT License.
@@ -15274,11 +15502,13 @@ const ChatMessageActionFlyout = (props) => {
15274
15502
  onClick: props.onRemoveClick
15275
15503
  }
15276
15504
  ];
15277
- // only show read by x of x if more than 3 participants in total including myself
15505
+ // only show read by x of y if more than 3 participants in total including myself
15506
+ // only show read by x of y if less than 20 participants in total including myself. This is because read by is not supported for 20 or more participants.
15278
15507
  // TODO: change strings.messageReadCount to be required if we can fallback to our own en-us strings for anything that Contoso doesn't provide
15279
15508
  if (props.remoteParticipantsCount &&
15280
15509
  messageReadByCount !== undefined &&
15281
15510
  props.remoteParticipantsCount >= 2 &&
15511
+ props.remoteParticipantsCount < 19 &&
15282
15512
  props.showMessageStatus &&
15283
15513
  props.strings.messageReadCount &&
15284
15514
  props.messageStatus !== 'failed') {
@@ -16185,7 +16415,7 @@ class _ErrorBoundary extends React.Component {
16185
16415
  // Copyright (c) Microsoft Corporation.
16186
16416
  // Licensed under the MIT License.
16187
16417
  /* @conditional-compile-remove(rich-text-editor) */
16188
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Cq3nUCjN.js'); }));
16418
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-CAFpQ8Yk.js'); }));
16189
16419
  /**
16190
16420
  * @private
16191
16421
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -16193,7 +16423,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
16193
16423
  *
16194
16424
  * @conditional-compile-remove(rich-text-editor)
16195
16425
  */
16196
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Cq3nUCjN.js'); });
16426
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-CAFpQ8Yk.js'); });
16197
16427
  /**
16198
16428
  * @private
16199
16429
  */
@@ -17969,7 +18199,7 @@ const DrawerMenuItem = (props) => {
17969
18199
  const onKeyPress = (ev) => submitWithKeyboard(ev, onClick);
17970
18200
  const secondaryIcon = props.secondaryIconProps ? (React.createElement(MenuItemIcon, Object.assign({}, props.secondaryIconProps))) : props.subMenuProps ? (React.createElement(MenuItemIcon, { iconName: "ChevronRight" })) : undefined;
17971
18201
  return (React.createElement(react.FocusZone, { shouldFocusOnMount: props.shouldFocusOnMount },
17972
- React.createElement(react.Stack, { tabIndex: 0, role: "menuitem", horizontal: true, className: react.mergeStyles(drawerMenuItemRootStyles$1(theme.palette.neutralLight, theme.fonts.small), props.disabled ? disabledDrawerMenuItemRootStyles$1(theme.palette.neutralQuaternaryAlt) : undefined, (_a = props.styles) === null || _a === undefined ? undefined : _a.root), onKeyPress: props.disabled ? undefined : onKeyPress, onClick: props.disabled ? undefined : onClick, tokens: menuItemChildrenGap, id: props.id },
18202
+ React.createElement(react.Stack, { tabIndex: 0, role: "menuitem", horizontal: true, className: react.mergeStyles(drawerMenuItemRootStyles$1(theme.palette.neutralLight, theme.fonts.small), props.disabled ? disabledDrawerMenuItemRootStyles$1(theme.palette.neutralQuaternaryAlt) : undefined, (_a = props.styles) === null || _a === undefined ? undefined : _a.root), onKeyPress: props.disabled ? undefined : onKeyPress, onClick: props.disabled ? undefined : onClick, tokens: menuItemChildrenGap, id: props.id, "aria-label": props.ariaLabel },
17973
18203
  props.iconProps && (React.createElement(react.Stack.Item, { role: "presentation", styles: props.disabled ? { root: { color: theme.palette.neutralTertiaryAlt } } : undefined },
17974
18204
  React.createElement(MenuItemIcon, Object.assign({}, props.iconProps)))),
17975
18205
  React.createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, grow: true },
@@ -26305,13 +26535,13 @@ const CaptionsBanner = (props) => {
26305
26535
  return () => {
26306
26536
  captionsScrollDiv === null || captionsScrollDiv === undefined ? undefined : captionsScrollDiv.removeEventListener('scroll', handleScrollToTheBottom);
26307
26537
  };
26308
- }, [handleScrollToTheBottom, isCaptionsOn]);
26538
+ }, [handleScrollToTheBottom, isCaptionsOn, /* @conditional-compile-remove(rtt) */ isRealTimeTextOn]);
26309
26539
  React.useEffect(() => {
26310
26540
  // only auto scroll to bottom is already is at bottom of scroll before new caption comes in
26311
26541
  if (isAtBottomOfScroll) {
26312
26542
  scrollToBottom();
26313
26543
  }
26314
- }, [captions, isAtBottomOfScroll]);
26544
+ }, [captions, /* @conditional-compile-remove(rtt) */ realTimeTexts, isAtBottomOfScroll]);
26315
26545
  /* @conditional-compile-remove(rtt) */
26316
26546
  const [textFieldValue, setTextFieldValue] = React.useState('');
26317
26547
  /* @conditional-compile-remove(rtt) */
@@ -26351,7 +26581,7 @@ const CaptionsBanner = (props) => {
26351
26581
  return React.createElement(React.Fragment, null);
26352
26582
  })));
26353
26583
  };
26354
- return (React.createElement(React.Fragment, null, (startCaptionsInProgress || /* @conditional-compile-remove(rtt) */ isRealTimeTextOn) && (React.createElement(react.FocusZone, { shouldFocusOnMount: true, className: captionsContainerClassName, "data-ui-id": "captions-banner" },
26584
+ return (React.createElement(React.Fragment, null, (startCaptionsInProgress || isCaptionsOn || /* @conditional-compile-remove(rtt) */ isRealTimeTextOn) && (React.createElement(react.FocusZone, { shouldFocusOnMount: true, className: captionsContainerClassName, "data-ui-id": "captions-banner" },
26355
26585
  /* @conditional-compile-remove(rtt) */ (isCaptionsOn || isRealTimeTextOn) && formFactor === 'compact' && (React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: bannerTitleContainerClassName },
26356
26586
  React.createElement(react.Text, { className: titleClassName$2 }, getTitle()),
26357
26587
  React.createElement(react.IconButton, { iconProps: { iconName: expandBannerHeight ? 'MinimizeIcon' : 'ExpandIcon' }, ariaLabel: expandBannerHeight ? strings.minimizeButtonAriaLabel : strings.expandButtonAriaLabel, onClick: () => setExpandBannerHeight(!expandBannerHeight), styles: expandIconClassName(theme) }))),
@@ -26361,7 +26591,7 @@ const CaptionsBanner = (props) => {
26361
26591
  /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && (React.createElement(react.Stack, { className: rttDisclosureBannerClassName() },
26362
26592
  React.createElement(_RTTDisclosureBanner, { strings: realTimeTextDisclosureBannerStrings }))),
26363
26593
  captionsTrampoline())),
26364
- /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && onSendRealTimeText && (React.createElement(react.TextField, { label: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
26594
+ /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && onSendRealTimeText && (React.createElement(react.TextField, { placeholder: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
26365
26595
  setTextFieldValue(newValue || '');
26366
26596
  onSendRealTimeText(newValue || '', false);
26367
26597
  }, maxLength: 2000, errorMessage: textFieldValue.length >= 2000 ? strings.realTimeTextInputErrorMessage : undefined })),
@@ -27046,7 +27276,7 @@ const StartRealTimeTextButton = (props) => {
27046
27276
  const onRenderStartIcon = () => {
27047
27277
  return React.createElement(_HighContrastAwareIcon, { disabled: props.disabled, iconName: "RealTimeTextIcon" });
27048
27278
  };
27049
- return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings, onClick: onStartRealTimeText, onRenderOffIcon: onRenderStartIcon, disabled: isRealTimeTextOn })));
27279
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings, onClick: onStartRealTimeText, onRenderOffIcon: onRenderStartIcon, disabled: props.disabled || isRealTimeTextOn })));
27050
27280
  };
27051
27281
 
27052
27282
  // Copyright (c) Microsoft Corporation.
@@ -27391,7 +27621,6 @@ const convertRemoteParticipantToParticipantListParticipant = (userId, displayNam
27391
27621
  localUserCanRemoveOthers,
27392
27622
  reaction,
27393
27623
  spotlight,
27394
- /* @conditional-compile-remove(media-access) */
27395
27624
  mediaAccess
27396
27625
  };
27397
27626
  };
@@ -27448,11 +27677,7 @@ const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAttendeeN
27448
27677
  const displayName = maskDisplayNameWithRole(participant.displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);
27449
27678
  const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);
27450
27679
  const spotlight = participant.spotlight;
27451
- return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand, participant.contentSharingStream, remoteParticipantReaction, spotlight,
27452
- /* @conditional-compile-remove(media-access) */
27453
- participant.mediaAccess,
27454
- /* @conditional-compile-remove(media-access) */
27455
- participant.role,
27680
+ return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand, participant.contentSharingStream, remoteParticipantReaction, spotlight, participant.mediaAccess, participant.role,
27456
27681
  /* @conditional-compile-remove(remote-ufd) */
27457
27682
  Math.max(((_c = (_b = (_a = participant.diagnostics) === null || _a === undefined ? undefined : _a.networkReceiveQuality) === null || _b === undefined ? undefined : _b.value) !== null && _c !== undefined ? _c : 0), ((_f = (_e = (_d = participant.diagnostics) === null || _d === undefined ? undefined : _d.networkSendQuality) === null || _e === undefined ? undefined : _e.value) !== null && _f !== undefined ? _f : 0)));
27458
27683
  }));
@@ -27498,11 +27723,8 @@ const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted
27498
27723
  raisedHand,
27499
27724
  reaction,
27500
27725
  spotlight,
27501
- /* @conditional-compile-remove(media-access) */
27502
27726
  mediaAccess,
27503
- /* @conditional-compile-remove(media-access) */
27504
27727
  canAudioBeForbidden: role === 'Attendee',
27505
- /* @conditional-compile-remove(media-access) */
27506
27728
  canVideoBeForbidden: role === 'Attendee',
27507
27729
  /* @conditional-compile-remove(remote-ufd) */
27508
27730
  signalStrength
@@ -27550,7 +27772,6 @@ const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, is
27550
27772
  reaction,
27551
27773
  spotlight: localSpotlight,
27552
27774
  capabilities,
27553
- /* @conditional-compile-remove(media-access) */
27554
27775
  mediaAccess: {
27555
27776
  isAudioPermitted: (capabilities === null || capabilities === undefined ? undefined : capabilities.unmuteMic) ? capabilities.unmuteMic.isPresent : true,
27556
27777
  isVideoPermitted: (capabilities === null || capabilities === undefined ? undefined : capabilities.turnVideoOn) ? capabilities.turnVideoOn.isPresent : true
@@ -27630,13 +27851,7 @@ togetherModeCallFeature) => {
27630
27851
  const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature === null || spotlightCallFeature === undefined ? undefined : spotlightCallFeature.spotlightedParticipants);
27631
27852
  return {
27632
27853
  screenShareParticipant: screenShareRemoteParticipant
27633
- ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight,
27634
- /* @conditional-compile-remove(media-access) */
27635
- undefined,
27636
- /* @conditional-compile-remove(media-access) */
27637
- screenShareRemoteParticipant.mediaAccess,
27638
- /* @conditional-compile-remove(media-access) */
27639
- role)
27854
+ ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight, undefined, screenShareRemoteParticipant.mediaAccess, role)
27640
27855
  : undefined,
27641
27856
  localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, localScreenSharingStream, role, raisedHand, localParticipantReactionState, spotlightCallFeature === null || spotlightCallFeature === undefined ? undefined : spotlightCallFeature.localParticipantSpotlight, capabilities),
27642
27857
  remoteParticipants: _videoGalleryRemoteParticipantsMemo(_updateUserDisplayNames(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants), isHideAttendeeNamesEnabled, role),
@@ -27682,9 +27897,7 @@ const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipan
27682
27897
  const displayName = maskDisplayNameWithRole(participant.displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);
27683
27898
  const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);
27684
27899
  const spotlight = memoizedSpotlight(spotlightedParticipants, toFlatCommunicationIdentifier(participant.identifier));
27685
- return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking, participant.raisedHand, localUserCanRemoveOthers, remoteParticipantReaction, spotlight,
27686
- /* @conditional-compile-remove(media-access) */
27687
- participant.mediaAccess);
27900
+ return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking, participant.raisedHand, localUserCanRemoveOthers, remoteParticipantReaction, spotlight, participant.mediaAccess);
27688
27901
  })
27689
27902
  .sort((a, b) => {
27690
27903
  var _a, _b;
@@ -27720,11 +27933,8 @@ const participantListSelector = reselect.createSelector([
27720
27933
  isHideAttendeeNamesEnabled,
27721
27934
  getLocalParticipantReactionState,
27722
27935
  getSpotlightCallFeature,
27723
- /* @conditional-compile-remove(media-access) */
27724
27936
  getCapabilities
27725
- ], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted, raisedHand, role, partitipantCount, isHideAttendeeNamesEnabled, localParticipantReactionState, spotlightCallFeature,
27726
- /* @conditional-compile-remove(media-access) */
27727
- capabilities) => {
27937
+ ], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted, raisedHand, role, partitipantCount, isHideAttendeeNamesEnabled, localParticipantReactionState, spotlightCallFeature, capabilities) => {
27728
27938
  const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);
27729
27939
  const participants = remoteParticipants
27730
27940
  ? convertRemoteParticipantsToParticipantListParticipants(_updateUserDisplayNames(Object.values(remoteParticipants)), localUserCanRemoveOthers, isHideAttendeeNamesEnabled, role, spotlightCallFeature === null || spotlightCallFeature === undefined ? undefined : spotlightCallFeature.spotlightedParticipants)
@@ -27740,7 +27950,6 @@ capabilities) => {
27740
27950
  isRemovable: false,
27741
27951
  reaction: memoizedConvertToVideoTileReaction(localParticipantReactionState),
27742
27952
  spotlight: memoizedSpotlight(spotlightCallFeature === null || spotlightCallFeature === undefined ? undefined : spotlightCallFeature.spotlightedParticipants, userId),
27743
- /* @conditional-compile-remove(media-access) */
27744
27953
  mediaAccess: {
27745
27954
  isAudioPermitted: (capabilities === null || capabilities === undefined ? undefined : capabilities.unmuteMic) ? capabilities.unmuteMic.isPresent : true,
27746
27955
  isVideoPermitted: (capabilities === null || capabilities === undefined ? undefined : capabilities.turnVideoOn) ? capabilities.turnVideoOn.isPresent : true
@@ -30985,7 +31194,7 @@ const isChatError = (e) => {
30985
31194
  return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
30986
31195
  };
30987
31196
 
30988
- var call$n={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",videoEffectsPaneAriaLabel:"Video effects pane",configurationPageCameraIsLoadingLabel:"Video is loading...",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this language.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",realTimeTextLabel:"Real-time text (RTT)",startRealTimeTextLabel:"Turn on RTT for this call",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real-time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",moreButtonTogetherModeLayoutLabel:"Together mode",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel",closeSpotlightPromptButtonLabel:"Close"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin for me",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin",forbidAudioMenuLabel:"Disable mic",permitAudioMenuLabel:"Allow mic",forbidOthersAudioDialogTitle:"Disable mic for attendees?",forbidOthersAudioDialogContent:"Attendees won’t be able to unmute themselves. The organizer and presenters can let people unmute as needed.",forbidOthersAudioConfirmButtonLabel:"Disable mics",forbidOthersAudioCancelButtonLabel:"Cancel",permitOthersAudioDialogTitle:"Allow mic for attendees?",permitOthersAudioDialogContent:"Everyone in the meeting will be able to unmute themselves.",permitOthersAudioConfirmButtonLabel:"Allow mics",permitOthersAudioCancelButtonLabel:"Cancel",forbidOthersAudioMenuLabel:"Disable mic for attendees",permitOthersAudioMenuLabel:"Allow mic for attendees",forbidVideoMenuLabel:"Disable camera",permitVideoMenuLabel:"Allow camera",forbidOthersVideoDialogTitle:"Disable camera for attendees?",forbidOthersVideoDialogContent:"Attendees won’t be able to turn on video themselves. The organizer and presenters can let people turn on camera as needed.",forbidOthersVideoConfirmButtonLabel:"Disable cameras",forbidOthersVideoCancelButtonLabel:"Cancel",permitOthersVideoDialogTitle:"Allow camera for attendees?",permitOthersVideoDialogContent:"Everyone in the meeting will be able to turn on video themselves.",permitOthersVideoConfirmButtonLabel:"Allow cameras",permitOthersVideoCancelButtonLabel:"Cancel",forbidOthersVideoMenuLabel:"Disable camera for attendees",permitOthersVideoMenuLabel:"Allow camera for attendees"};var chat$n={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$n={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading..."};var en_US = {call:call$n,chat:chat$n,callWithChat:callWithChat$n};
31197
+ var call$n={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",videoEffectsPaneAriaLabel:"Video effects pane",configurationPageCameraIsLoadingLabel:"Video is loading...",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this language.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",realTimeTextLabel:"Real-time text (RTT)",startRealTimeTextLabel:"Turn on RTT for this call",disabledStartRealTimeTextLabel:"RTT is currently turned on, it cannot be turned off",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real-time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",moreButtonTogetherModeLayoutLabel:"Together mode",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel",closeSpotlightPromptButtonLabel:"Close"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin for me",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin",forbidAudioMenuLabel:"Disable mic",permitAudioMenuLabel:"Allow mic",forbidOthersAudioDialogTitle:"Disable mic for attendees?",forbidOthersAudioDialogContent:"Attendees won’t be able to unmute themselves. The organizer and presenters can let people unmute as needed.",forbidOthersAudioConfirmButtonLabel:"Disable mics",forbidOthersAudioCancelButtonLabel:"Cancel",permitOthersAudioDialogTitle:"Allow mic for attendees?",permitOthersAudioDialogContent:"Everyone in the meeting will be able to unmute themselves.",permitOthersAudioConfirmButtonLabel:"Allow mics",permitOthersAudioCancelButtonLabel:"Cancel",forbidOthersAudioMenuLabel:"Disable mic for attendees",permitOthersAudioMenuLabel:"Allow mic for attendees",forbidVideoMenuLabel:"Disable camera",permitVideoMenuLabel:"Allow camera",forbidOthersVideoDialogTitle:"Disable camera for attendees?",forbidOthersVideoDialogContent:"Attendees won’t be able to turn on video themselves. The organizer and presenters can let people turn on camera as needed.",forbidOthersVideoConfirmButtonLabel:"Disable cameras",forbidOthersVideoCancelButtonLabel:"Cancel",permitOthersVideoDialogTitle:"Allow camera for attendees?",permitOthersVideoDialogContent:"Everyone in the meeting will be able to turn on video themselves.",permitOthersVideoConfirmButtonLabel:"Allow cameras",permitOthersVideoCancelButtonLabel:"Cancel",forbidOthersVideoMenuLabel:"Disable camera for attendees",permitOthersVideoMenuLabel:"Allow camera for attendees"};var chat$n={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$n={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading..."};var en_US = {call:call$n,chat:chat$n,callWithChat:callWithChat$n};
30989
31198
 
30990
31199
  // Copyright (c) Microsoft Corporation.
30991
31200
  // Licensed under the MIT License.
@@ -31925,7 +32134,7 @@ const AttachmentDownloadErrorBar = (props) => {
31925
32134
  /**
31926
32135
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
31927
32136
  */
31928
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DX7BSYyk.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
32137
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DTWPl1yi.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
31929
32138
  /**
31930
32139
  * @private
31931
32140
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -31933,7 +32142,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
31933
32142
  *
31934
32143
  /* @conditional-compile-remove(rich-text-editor-composite-support)
31935
32144
  */
31936
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DX7BSYyk.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
32145
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DTWPl1yi.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
31937
32146
  /**
31938
32147
  * @private
31939
32148
  */
@@ -33956,6 +34165,10 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
33956
34165
  /* @conditional-compile-remove(together-mode) */
33957
34166
  onDisposeTogetherModeStreamView: () => __awaiter$q(undefined, undefined, undefined, function* () {
33958
34167
  return yield adapter.disposeTogetherModeStreamView();
34168
+ }),
34169
+ /* @conditional-compile-remove(rtt) */
34170
+ onSendRealTimeText: (text, isFinalized) => __awaiter$q(undefined, undefined, undefined, function* () {
34171
+ return yield adapter.sendRealTimeText(text, isFinalized);
33959
34172
  })
33960
34173
  };
33961
34174
  });
@@ -34247,7 +34460,9 @@ const CallingCaptionsBanner = (props) => {
34247
34460
  React.createElement("div", { className: containerClassName, role: "region", "aria-label": strings.liveCaptionsLabel },
34248
34461
  React.createElement(react.Stack, { horizontalAlign: "center" },
34249
34462
  React.createElement(react.Stack.Item, { style: { width: props.isMobile ? mobileViewBannerWidth : desktopViewBannerWidth } },
34250
- React.createElement(CaptionsBanner, Object.assign({ captionsOptions: props.captionsOptions, onRenderAvatar: onRenderAvatar, formFactor: props.isMobile ? 'compact' : 'default', strings: captionsBannerStrings }, captionsBannerProps)))),
34463
+ React.createElement(CaptionsBanner, Object.assign({ captionsOptions: props.captionsOptions, onRenderAvatar: onRenderAvatar, formFactor: props.isMobile ? 'compact' : 'default', strings: captionsBannerStrings }, captionsBannerProps, {
34464
+ /* @conditional-compile-remove(rtt) */
34465
+ isRealTimeTextOn: props.isRealTimeTextOn || captionsBannerProps.isRealTimeTextOn })))),
34251
34466
  !props.isMobile && captionsBannerProps.isCaptionsOn && (React.createElement("div", { className: floatingChildClassName },
34252
34467
  React.createElement(CaptionsBannerMoreButton, { onCaptionsSettingsClick: onClickCaptionsSettings, returnFocusRef: props.returnFocusRef }))))));
34253
34468
  };
@@ -35271,6 +35486,8 @@ const DesktopMoreButton = (props) => {
35271
35486
  const localeStrings = useLocale();
35272
35487
  const holdButtonProps = usePropsFor$1(HoldButton);
35273
35488
  const startCaptionsButtonProps = usePropsFor$1(StartCaptionsButton);
35489
+ /* @conditional-compile-remove(rtt) */
35490
+ const realTimeTextProps = usePropsFor$1(CaptionsBanner);
35274
35491
  const startCaptions = React.useCallback(() => __awaiter$m(undefined, undefined, undefined, function* () {
35275
35492
  yield startCaptionsButtonProps.onStartCaptions({
35276
35493
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
@@ -35374,6 +35591,50 @@ const DesktopMoreButton = (props) => {
35374
35591
  });
35375
35592
  }
35376
35593
  }
35594
+ //RTT
35595
+ /* @conditional-compile-remove(rtt) */
35596
+ if (props.isRealTimeTextSupported) {
35597
+ const realTimeTextContextualMenuItems = [];
35598
+ const rttDisabled = props.disableButtonsForHoldScreen || realTimeTextProps.isRealTimeTextOn || props.startRealTimeTextButtonChecked;
35599
+ moreButtonContextualMenuItems.push({
35600
+ key: 'realTimeTextKey',
35601
+ id: 'common-call-composite-captions-button',
35602
+ text: localeStrings.strings.call.realTimeTextLabel,
35603
+ iconProps: { iconName: 'RealTimeTextIcon', styles: { root: { lineHeight: 0 } } },
35604
+ itemProps: {
35605
+ styles: buttonFlyoutIncreasedSizeStyles
35606
+ },
35607
+ disabled: props.disableButtonsForHoldScreen,
35608
+ subMenuProps: {
35609
+ id: 'rtt-contextual-menu',
35610
+ items: realTimeTextContextualMenuItems,
35611
+ calloutProps: {
35612
+ preventDismissOnEvent: _preventDismissOnEvent
35613
+ }
35614
+ },
35615
+ submenuIconProps: {
35616
+ iconName: 'HorizontalGalleryRightButton',
35617
+ styles: menuSubIconStyleSet
35618
+ }
35619
+ });
35620
+ realTimeTextContextualMenuItems.push({
35621
+ key: 'StartRealTimeTextKey',
35622
+ id: 'common-call-composite-rtt-start-button',
35623
+ text: localeStrings.strings.call.startRealTimeTextLabel,
35624
+ ariaLabel: rttDisabled
35625
+ ? localeStrings.strings.call.disabledStartRealTimeTextLabel
35626
+ : localeStrings.strings.call.startRealTimeTextLabel,
35627
+ onClick: props.onStartRealTimeTextClick,
35628
+ iconProps: {
35629
+ iconName: 'RealTimeTextIcon',
35630
+ styles: { root: { lineHeight: 0 } }
35631
+ },
35632
+ itemProps: {
35633
+ styles: buttonFlyoutIncreasedSizeStyles
35634
+ },
35635
+ disabled: rttDisabled
35636
+ });
35637
+ }
35377
35638
  const dtmfDialerScreenOption = {
35378
35639
  key: 'dtmfDialerScreenKey',
35379
35640
  itemProps: {
@@ -35891,6 +36152,24 @@ const timerTextStyle = {
35891
36152
  }
35892
36153
  };
35893
36154
 
36155
+ // Copyright (c) Microsoft Corporation.
36156
+ // Licensed under the MIT License.
36157
+ /* @conditional-compile-remove(rtt) */
36158
+ /* @conditional-compile-remove(rtt) */
36159
+ /** @private */
36160
+ const CallingRealTimeTextModal = (props) => {
36161
+ const strings = useLocale().strings.call;
36162
+ const modalStrings = {
36163
+ realTimeTextModalTitle: strings.realTimeTextModalTitle,
36164
+ realTimeTextModalText: strings.realTimeTextModalText,
36165
+ realTimeTextConfirmButtonLabel: strings.realTimeTextConfirmButtonLabel,
36166
+ realTimeTextCancelButtonLabel: strings.realTimeTextCancelButtonLabel,
36167
+ realTimeTextModalAriaLabel: strings.realTimeTextModalAriaLabel,
36168
+ realTimeTextCloseModalButtonAriaLabel: strings.realTimeTextCloseModalButtonAriaLabel
36169
+ };
36170
+ return (React.createElement(RealTimeTextModal, { strings: modalStrings, showModal: props.showModal, onDismissModal: props.onDismissModal, onStartRealTimeText: props.onStartRealTimeText }));
36171
+ };
36172
+
35894
36173
  // Copyright (c) Microsoft Corporation.
35895
36174
  // Licensed under the MIT License.
35896
36175
  var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -35942,6 +36221,8 @@ const CommonCallControlBar = React.forwardRef((props, commonCallControlBarRef) =
35942
36221
  const callWithChatStrings = useCallWithChatCompositeStrings();
35943
36222
  const options = inferCommonCallControlOptions(props.mobileView, props.callControls);
35944
36223
  const [showCaptionsSettingsModal, setShowCaptionsSettingsModal] = React.useState(false);
36224
+ /* @conditional-compile-remove(rtt) */
36225
+ const [showRealTimeTextModal, setShowRealTimeTextModal] = React.useState(false);
35945
36226
  // If the hangup capability is not present, we default to true
35946
36227
  const isHangUpForEveryoneAllowed = (_a = useSelector$1((state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === undefined ? undefined : _a.capabilitiesFeature) === null || _b === undefined ? undefined : _b.capabilities.hangUpForEveryOne.isPresent; })) !== null && _a !== undefined ? _a : true;
35947
36228
  const isTeams = useSelector$1(getIsTeamsCall);
@@ -35978,6 +36259,14 @@ const CommonCallControlBar = React.forwardRef((props, commonCallControlBarRef) =
35978
36259
  const openCaptionsSettingsModal = React.useCallback(() => {
35979
36260
  setShowCaptionsSettingsModal(true);
35980
36261
  }, []);
36262
+ /* @conditional-compile-remove(rtt) */
36263
+ const openRealTimeTextModal = React.useCallback(() => {
36264
+ setShowRealTimeTextModal(true);
36265
+ }, []);
36266
+ /* @conditional-compile-remove(rtt) */
36267
+ const onDismissRealTimeTextModal = React.useCallback(() => {
36268
+ setShowRealTimeTextModal(false);
36269
+ }, []);
35981
36270
  const onDismissCaptionsSettings = React.useCallback(() => {
35982
36271
  setShowCaptionsSettingsModal(false);
35983
36272
  }, []);
@@ -36072,15 +36361,21 @@ const CommonCallControlBar = React.forwardRef((props, commonCallControlBarRef) =
36072
36361
  const cameraButtonIsEnabled = isEnabled$1(options === null || options === undefined ? undefined : options.cameraButton);
36073
36362
  const showExitSpotlightButton = (options === null || options === undefined ? undefined : options.exitSpotlightButton) !== false;
36074
36363
  const showCaptionsButton = props.isCaptionsSupported && isEnabled$1(options.captionsButton);
36364
+ /* @conditional-compile-remove(rtt) */
36365
+ const showRealTimeTextButton = props.isRealTimeTextSupported;
36075
36366
  const showTeamsMeetingPhoneCallButton = isEnabled$1(options === null || options === undefined ? undefined : options.teamsMeetingPhoneCallButton);
36076
36367
  const showDesktopMoreButton = isEnabled$1(options === null || options === undefined ? undefined : options.moreButton) &&
36077
- (isEnabled$1(options === null || options === undefined ? undefined : options.holdButton) || showCaptionsButton || props.onUserSetGalleryLayout);
36368
+ (isEnabled$1(options === null || options === undefined ? undefined : options.holdButton) ||
36369
+ showCaptionsButton ||
36370
+ props.onUserSetGalleryLayout ||
36371
+ /* @conditional-compile-remove(rtt) */ showRealTimeTextButton);
36078
36372
  const role = (_b = props.callAdapter.getState().call) === null || _b === undefined ? undefined : _b.role;
36079
36373
  const hideRaiseHandButtonInRoomsCall = props.callAdapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);
36080
36374
  const reactionResources = props.callAdapter.getState().reactions;
36081
36375
  return (React.createElement("div", { ref: controlBarSizeRef },
36082
36376
  React.createElement(CallAdapterProvider, { adapter: props.callAdapter },
36083
36377
  showCaptionsSettingsModal && (React.createElement(CallingCaptionsSettingsModal, { showCaptionsSettingsModal: showCaptionsSettingsModal, onDismissCaptionsSettings: onDismissCaptionsSettings, changeCaptionLanguage: props.isCaptionsOn && props.useTeamsCaptions })),
36378
+ /* @conditional-compile-remove(rtt) */ showRealTimeTextModal && (React.createElement(CallingRealTimeTextModal, { showModal: showRealTimeTextModal, onDismissModal: onDismissRealTimeTextModal, onStartRealTimeText: props.onStartRealTimeText })),
36084
36379
  props.teamsMeetingConferenceModalPresent && (React.createElement(MeetingConferencePhoneInfoModal, { conferencePhoneInfoList: (_e = (_d = (_c = props.callAdapter.getState().call) === null || _c === undefined ? undefined : _c.meetingConference) === null || _d === undefined ? undefined : _d.conferencePhones) !== null && _e !== undefined ? _e : [], showModal: props.teamsMeetingConferenceModalPresent, onDismissMeetingPhoneInfoSettings: props.onToggleTeamsMeetingConferenceModal }))),
36085
36380
  React.createElement(react.Stack, { horizontal: true, reversed: !props.mobileView && !isOutOfSpace, horizontalAlign: "space-between", className: react.mergeStyles(callControlsContainerStyles, controlBarContainerStyles, controlBarDesktopContainerStyles) },
36086
36381
  React.createElement(react.Stack.Item, { grow: true, className: react.mergeStyles(controlBarWrapperDesktopStyles) },
@@ -36117,7 +36412,13 @@ const CommonCallControlBar = React.forwardRef((props, commonCallControlBarRef) =
36117
36412
  return (React.createElement(CustomButton, { key: `primary-custom-button-${i}`, styles: commonButtonStyles, showLabel: options.displayType !== 'compact', disableTooltip: props.mobileView }));
36118
36413
  }),
36119
36414
  props.mobileView && (React.createElement(MoreButton, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, onClick: props.onMoreButtonClicked, disabled: props.disableButtonsForLobbyPage, disableTooltip: props.mobileView })),
36120
- !props.mobileView && showDesktopMoreButton && (React.createElement(DesktopMoreButton, { disableButtonsForHoldScreen: props.disableButtonsForHoldScreen, styles: commonButtonStyles, onClickShowDialpad: props.onClickShowDialpad, callControls: props.callControls, isCaptionsSupported: showCaptionsButton, onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage, teamsMeetingPhoneCallEnable: showTeamsMeetingPhoneCallButton, onMeetingPhoneInfoClick: props.onToggleTeamsMeetingConferenceModal })),
36415
+ !props.mobileView && showDesktopMoreButton && (React.createElement(DesktopMoreButton, { disableButtonsForHoldScreen: props.disableButtonsForHoldScreen, styles: commonButtonStyles, onClickShowDialpad: props.onClickShowDialpad, callControls: props.callControls, isCaptionsSupported: showCaptionsButton,
36416
+ /* @conditional-compile-remove(rtt) */
36417
+ isRealTimeTextSupported: showRealTimeTextButton, onCaptionsSettingsClick: openCaptionsSettingsModal,
36418
+ /* @conditional-compile-remove(rtt) */
36419
+ onStartRealTimeTextClick: openRealTimeTextModal,
36420
+ /* @conditional-compile-remove(rtt) */
36421
+ startRealTimeTextButtonChecked: props.startRealTimeTextButtonChecked, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage, teamsMeetingPhoneCallEnable: showTeamsMeetingPhoneCallButton, onMeetingPhoneInfoClick: props.onToggleTeamsMeetingConferenceModal })),
36121
36422
  React.createElement(EndCall, { displayType: "compact", mobileView: props.mobileView, styles: endCallButtonStyles, enableEndCallMenu: !isBoolean(props.callControls) &&
36122
36423
  !isBoolean((_g = props.callControls) === null || _g === undefined ? undefined : _g.endCallButton) &&
36123
36424
  !props.mobileView &&
@@ -36390,6 +36691,8 @@ const MoreDrawer = (props) => {
36390
36691
  const { speakers, onSelectSpeaker, onLightDismiss } = props;
36391
36692
  const localeStrings = useLocale();
36392
36693
  const holdButtonProps = usePropsFor$1(HoldButton);
36694
+ /* @conditional-compile-remove(rtt) */
36695
+ const realTimeTextProps = usePropsFor$1(CaptionsBanner);
36393
36696
  const callees = useSelector$1(getTargetCallees);
36394
36697
  const participants = useSelector$1(getRemoteParticipantsConnectedSelector);
36395
36698
  const allowDtmfDialer = showDtmfDialer(callees, participants, props.dtmfDialerOptions);
@@ -36406,6 +36709,8 @@ const MoreDrawer = (props) => {
36406
36709
  }, [speakers, onSelectSpeaker, onLightDismiss]);
36407
36710
  const drawerSelectionOptions = inferCallWithChatControlOptions(props.callControls);
36408
36711
  const showCaptionsButton = props.isCaptionsSupported && drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions.captionsButton);
36712
+ /* @conditional-compile-remove(rtt) */
36713
+ const showRealTimeTextButton = props.isRealTimeTextSupported;
36409
36714
  if (props.reactionResources !== undefined) {
36410
36715
  drawerMenuItems.push({
36411
36716
  itemKey: 'reactions',
@@ -36709,6 +37014,36 @@ const MoreDrawer = (props) => {
36709
37014
  });
36710
37015
  }
36711
37016
  }
37017
+ /* @conditional-compile-remove(rtt) */
37018
+ const rttDisabled = props.disableButtonsForHoldScreen || realTimeTextProps.isRealTimeTextOn || props.startRealTimeTextButtonChecked;
37019
+ // rtt
37020
+ /* @conditional-compile-remove(rtt) */
37021
+ if (showRealTimeTextButton) {
37022
+ const realTimeTextDrawerItems = [];
37023
+ drawerMenuItems.push({
37024
+ itemKey: 'realTimeText',
37025
+ id: 'common-call-composite-rtt-button',
37026
+ disabled: props.disableButtonsForHoldScreen,
37027
+ text: localeStrings.strings.call.realTimeTextLabel,
37028
+ iconProps: { iconName: 'RealTimeTextIcon' },
37029
+ subMenuProps: realTimeTextDrawerItems
37030
+ });
37031
+ realTimeTextDrawerItems.push({
37032
+ itemKey: 'ToggleRTTKey',
37033
+ text: localeStrings.strings.call.startRealTimeTextLabel,
37034
+ ariaLabel: rttDisabled
37035
+ ? localeStrings.strings.call.disabledStartRealTimeTextLabel
37036
+ : localeStrings.strings.call.startRealTimeTextLabel,
37037
+ iconProps: {
37038
+ iconName: 'RealTimeTextIcon',
37039
+ styles: { root: { lineHeight: 0 } }
37040
+ },
37041
+ onItemClick: props.onStartRealTimeText,
37042
+ disabled: rttDisabled,
37043
+ secondaryComponent: (React.createElement(react.Stack, { verticalFill: true, verticalAlign: "center" },
37044
+ React.createElement(react.Toggle, { id: "common-call-composite-rtt-toggle-button", checked: realTimeTextProps.isRealTimeTextOn || props.startRealTimeTextButtonChecked, styles: themedToggleButtonStyle(theme, realTimeTextProps.isRealTimeTextOn || props.startRealTimeTextButtonChecked), onChange: props.onStartRealTimeText })))
37045
+ });
37046
+ }
36712
37047
  const customDrawerButtons = React.useMemo(() => generateCustomCallDrawerButtons(onFetchCustomButtonPropsTrampoline(drawerSelectionOptions !== false ? drawerSelectionOptions : undefined), drawerSelectionOptions !== false ? drawerSelectionOptions === null || drawerSelectionOptions === undefined ? undefined : drawerSelectionOptions.displayType : undefined), [drawerSelectionOptions]);
36713
37048
  customDrawerButtons['primary'].slice(CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS).forEach((element) => {
36714
37049
  drawerMenuItems.push(element);
@@ -39437,15 +39772,33 @@ const CallArrangement = (props) => {
39437
39772
  ? (latestNotifications !== null && latestNotifications !== undefined ? latestNotifications : []).filter((notification) => notification.type !== 'assignedBreakoutRoomOpenedPromptJoin')
39438
39773
  : latestNotifications;
39439
39774
  const reactionResources = useSelector$1(getReactionResources);
39775
+ /* @conditional-compile-remove(rtt) */
39776
+ const [openRealTimeText, setOpenRealTimeText] = React.useState(false);
39777
+ /* @conditional-compile-remove(rtt) */
39778
+ const onStartRealTimeText = React.useCallback(() => {
39779
+ setOpenRealTimeText(true);
39780
+ }, []);
39440
39781
  return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
39441
39782
  React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
39442
39783
  React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
39443
39784
  ((_g = props.callControlProps) === null || _g === undefined ? undefined : _g.options) !== false && !isMobileWithActivePane && (React.createElement(react.Stack, { verticalAlign: 'center', className: react.mergeStyles({
39444
39785
  zIndex: CONTROL_BAR_Z_INDEX,
39445
39786
  padding: verticalControlBar ? '0.25rem' : 'unset'
39446
- }) }, isLegacyCallControlEnabled((_h = props.callControlProps) === null || _h === undefined ? undefined : _h.options) ? (React.createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, displayVertical: verticalControlBar }))) : (React.createElement(CommonCallControlBar, Object.assign({}, props.callControlProps, { ref: controlBarRef, callControls: props.callControlProps.options, callAdapter: adapter, mobileView: props.mobileView, disableButtonsForLobbyPage: isInLobby, disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) || hasJoinedCall, useTeamsCaptions: useTeamsCaptions, isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef, onStopLocalSpotlight: !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined, onToggleTeamsMeetingConferenceModal: toggleTeamsMeetingConferenceModal, teamsMeetingConferenceModalPresent: showTeamsMeetingConferenceModal, sidePaneDismissButtonRef: sidePaneDismissButtonRef }))))),
39787
+ }) }, isLegacyCallControlEnabled((_h = props.callControlProps) === null || _h === undefined ? undefined : _h.options) ? (React.createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, displayVertical: verticalControlBar }))) : (React.createElement(CommonCallControlBar, Object.assign({}, props.callControlProps, { ref: controlBarRef, callControls: props.callControlProps.options, callAdapter: adapter, mobileView: props.mobileView, disableButtonsForLobbyPage: isInLobby, disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) || hasJoinedCall,
39788
+ /* @conditional-compile-remove(rtt) */
39789
+ isRealTimeTextSupported: hasJoinedCall,
39790
+ /* @conditional-compile-remove(rtt) */
39791
+ onStartRealTimeText: onStartRealTimeText,
39792
+ /* @conditional-compile-remove(rtt) */
39793
+ startRealTimeTextButtonChecked: openRealTimeText, useTeamsCaptions: useTeamsCaptions, isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef, onStopLocalSpotlight: !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined, onToggleTeamsMeetingConferenceModal: toggleTeamsMeetingConferenceModal, teamsMeetingConferenceModalPresent: showTeamsMeetingConferenceModal, sidePaneDismissButtonRef: sidePaneDismissButtonRef }))))),
39447
39794
  ((_j = props.callControlProps) === null || _j === undefined ? undefined : _j.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
39448
- React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked, disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) || hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, dtmfDialerOptions: props.dtmfDialerOptions, reactionResources: reactionResources, onClickMeetingPhoneInfo: onMeetingPhoneInfoClicked }))),
39795
+ React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked, disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) || hasJoinedCall,
39796
+ /* @conditional-compile-remove(rtt) */
39797
+ isRealTimeTextSupported: hasJoinedCall,
39798
+ /* @conditional-compile-remove(rtt) */
39799
+ onStartRealTimeText: onStartRealTimeText,
39800
+ /* @conditional-compile-remove(rtt) */
39801
+ startRealTimeTextButtonChecked: openRealTimeText, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, dtmfDialerOptions: props.dtmfDialerOptions, reactionResources: reactionResources, onClickMeetingPhoneInfo: onMeetingPhoneInfoClicked }))),
39449
39802
  React.createElement(react.Stack, { horizontal: true, grow: true },
39450
39803
  React.createElement(react.Stack.Item, { style: callCompositeContainerCSS },
39451
39804
  React.createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
@@ -39463,7 +39816,9 @@ const CallArrangement = (props) => {
39463
39816
  props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
39464
39817
  React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== undefined ? filteredCapabilitesChangedNotifications : [] }))))),
39465
39818
  renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent(),
39466
- !isInLocalHold && (React.createElement(CallingCaptionsBanner, { captionsOptions: props.captionsOptions, isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions, returnFocusRef: controlBarRef }))))),
39819
+ !isInLocalHold && (React.createElement(CallingCaptionsBanner, { captionsOptions: props.captionsOptions, isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions, returnFocusRef: controlBarRef,
39820
+ /* @conditional-compile-remove(rtt) */
39821
+ isRealTimeTextOn: openRealTimeText }))))),
39467
39822
  React.createElement(SidePane, { mobileView: props.mobileView, maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, minWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)
39468
39823
  ? undefined
39469
39824
  : togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
@@ -43153,6 +43508,8 @@ class AzureCommunicationCallAdapter {
43153
43508
  this.stopCaptions.bind(this);
43154
43509
  this.setSpokenLanguage.bind(this);
43155
43510
  this.setCaptionLanguage.bind(this);
43511
+ /* @conditional-compile-remove(rtt) */
43512
+ this.sendRealTimeText.bind(this);
43156
43513
  this.startVideoBackgroundEffect.bind(this);
43157
43514
  this.stopVideoBackgroundEffects.bind(this);
43158
43515
  this.updateBackgroundPickerImages.bind(this);
@@ -43671,6 +44028,12 @@ class AzureCommunicationCallAdapter {
43671
44028
  this.handlers.onSetSpokenLanguage(language);
43672
44029
  });
43673
44030
  }
44031
+ /* @conditional-compile-remove(rtt) */
44032
+ sendRealTimeText(text, isFinalized) {
44033
+ return __awaiter$7(this, undefined, undefined, function* () {
44034
+ this.handlers.onSendRealTimeText(text, isFinalized);
44035
+ });
44036
+ }
43674
44037
  submitSurvey(survey) {
43675
44038
  return __awaiter$7(this, undefined, undefined, function* () {
43676
44039
  return this.handlers.onSubmitSurvey(survey);
@@ -43828,7 +44191,7 @@ class AzureCommunicationCallAdapter {
43828
44191
  }
43829
44192
  }
43830
44193
  subscribeCallEvents() {
43831
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
44194
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
43832
44195
  if (this.call) {
43833
44196
  this.callingSoundSubscriber = new CallingSoundSubscriber(this.call, this.getState().targetCallees, this.getState().sounds);
43834
44197
  }
@@ -43841,15 +44204,17 @@ class AzureCommunicationCallAdapter {
43841
44204
  (_f = this.call) === null || _f === undefined ? undefined : _f.feature(communicationCalling.Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));
43842
44205
  (_g = this.call) === null || _g === undefined ? undefined : _g.feature(communicationCalling.Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));
43843
44206
  (_h = this.call) === null || _h === undefined ? undefined : _h.feature(communicationCalling.Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));
44207
+ /* @conditional-compile-remove(rtt) */
44208
+ (_j = this.call) === null || _j === undefined ? undefined : _j.feature(communicationCalling.Features.RealTimeText).on('realTimeTextReceived', this.realTimeTextReceived.bind(this));
43844
44209
  /* @conditional-compile-remove(breakout-rooms) */
43845
- const breakoutRoomsFeature = (_j = this.call) === null || _j === undefined ? undefined : _j.feature(communicationCalling.Features.BreakoutRooms);
44210
+ const breakoutRoomsFeature = (_k = this.call) === null || _k === undefined ? undefined : _k.feature(communicationCalling.Features.BreakoutRooms);
43846
44211
  /* @conditional-compile-remove(breakout-rooms) */
43847
44212
  if (breakoutRoomsFeature) {
43848
44213
  breakoutRoomsFeature.on('breakoutRoomsUpdated', this.breakoutRoomsUpdated.bind(this));
43849
44214
  }
43850
44215
  }
43851
44216
  unsubscribeCallEvents() {
43852
- var _a, _b, _c, _d, _e, _f;
44217
+ var _a, _b, _c, _d, _e, _f, _g;
43853
44218
  for (const subscriber of this.participantSubscribers.values()) {
43854
44219
  subscriber.unsubscribeAll();
43855
44220
  }
@@ -43860,11 +44225,13 @@ class AzureCommunicationCallAdapter {
43860
44225
  (_d = this.call) === null || _d === undefined ? undefined : _d.off('idChanged', this.callIdChanged.bind(this));
43861
44226
  (_e = this.call) === null || _e === undefined ? undefined : _e.off('roleChanged', this.roleChanged.bind(this));
43862
44227
  this.unsubscribeFromCaptionEvents();
44228
+ /* @conditional-compile-remove(rtt) */
44229
+ (_f = this.call) === null || _f === undefined ? undefined : _f.feature(communicationCalling.Features.RealTimeText).off('realTimeTextReceived', this.realTimeTextReceived.bind(this));
43863
44230
  if (this.callingSoundSubscriber) {
43864
44231
  this.callingSoundSubscriber.unsubscribeAll();
43865
44232
  }
43866
44233
  /* @conditional-compile-remove(breakout-rooms) */
43867
- const breakoutRoomsFeature = (_f = this.call) === null || _f === undefined ? undefined : _f.feature(communicationCalling.Features.BreakoutRooms);
44234
+ const breakoutRoomsFeature = (_g = this.call) === null || _g === undefined ? undefined : _g.feature(communicationCalling.Features.BreakoutRooms);
43868
44235
  /* @conditional-compile-remove(breakout-rooms) */
43869
44236
  if (breakoutRoomsFeature) {
43870
44237
  breakoutRoomsFeature.off('breakoutRoomsUpdated', this.breakoutRoomsUpdated.bind(this));
@@ -43905,6 +44272,10 @@ class AzureCommunicationCallAdapter {
43905
44272
  captionsReceived(captionsInfo) {
43906
44273
  this.emitter.emit('captionsReceived', { captionsInfo });
43907
44274
  }
44275
+ /* @conditional-compile-remove(rtt) */
44276
+ realTimeTextReceived(realTimeText) {
44277
+ this.emitter.emit('realTimeTextReceived', { realTimeText });
44278
+ }
43908
44279
  isCaptionsActiveChanged() {
43909
44280
  var _a;
43910
44281
  const captionsFeature = (_a = this.call) === null || _a === undefined ? undefined : _a.feature(communicationCalling.Features.Captions).captions;
@@ -44584,6 +44955,12 @@ class CallWithChatBackedCallAdapter {
44584
44955
  yield this.callWithChatAdapter.setSpokenLanguage(language);
44585
44956
  });
44586
44957
  }
44958
+ /* @conditional-compile-remove(rtt) */
44959
+ sendRealTimeText(text, isFinalized) {
44960
+ return __awaiter$6(this, undefined, undefined, function* () {
44961
+ yield this.callWithChatAdapter.sendRealTimeText(text, isFinalized);
44962
+ });
44963
+ }
44587
44964
  startVideoBackgroundEffect(videoBackgroundEffect) {
44588
44965
  return __awaiter$6(this, undefined, undefined, function* () {
44589
44966
  yield this.callWithChatAdapter.startVideoBackgroundEffect(videoBackgroundEffect);
@@ -45552,6 +45929,8 @@ class AzureCommunicationCallWithChatAdapter {
45552
45929
  this.stopCaptions.bind(this);
45553
45930
  this.setSpokenLanguage.bind(this);
45554
45931
  this.setCaptionLanguage.bind(this);
45932
+ /* @conditional-compile-remove(rtt) */
45933
+ this.sendRealTimeText.bind(this);
45555
45934
  this.startVideoBackgroundEffect.bind(this);
45556
45935
  this.stopVideoBackgroundEffects.bind(this);
45557
45936
  this.updateBackgroundPickerImages.bind(this);
@@ -45905,6 +46284,12 @@ class AzureCommunicationCallWithChatAdapter {
45905
46284
  yield this.callAdapter.setSpokenLanguage(language);
45906
46285
  });
45907
46286
  }
46287
+ /* @conditional-compile-remove(rtt) */
46288
+ sendRealTimeText(text, isFinalized) {
46289
+ return __awaiter$4(this, undefined, undefined, function* () {
46290
+ yield this.callAdapter.sendRealTimeText(text, isFinalized);
46291
+ });
46292
+ }
45908
46293
  startVideoBackgroundEffect(videoBackgroundEffect) {
45909
46294
  return __awaiter$4(this, undefined, undefined, function* () {
45910
46295
  yield this.callAdapter.startVideoBackgroundEffect(videoBackgroundEffect);
@@ -46060,6 +46445,10 @@ class AzureCommunicationCallWithChatAdapter {
46060
46445
  case 'captionsReceived':
46061
46446
  this.callAdapter.on('captionsReceived', listener);
46062
46447
  break;
46448
+ /* @conditional-compile-remove(rtt) */
46449
+ case 'realTimeTextReceived':
46450
+ this.callAdapter.on('realTimeTextReceived', listener);
46451
+ break;
46063
46452
  case 'isCaptionsActiveChanged':
46064
46453
  this.callAdapter.on('isCaptionsActiveChanged', listener);
46065
46454
  break;
@@ -46165,6 +46554,10 @@ class AzureCommunicationCallWithChatAdapter {
46165
46554
  case 'captionsReceived':
46166
46555
  this.callAdapter.off('captionsReceived', listener);
46167
46556
  break;
46557
+ /* @conditional-compile-remove(rtt) */
46558
+ case 'realTimeTextReceived':
46559
+ this.callAdapter.off('realTimeTextReceived', listener);
46560
+ break;
46168
46561
  case 'isCaptionsActiveChanged':
46169
46562
  this.callAdapter.off('isCaptionsActiveChanged', listener);
46170
46563
  break;
@@ -47218,4 +47611,4 @@ exports.useTeamsCall = useTeamsCall;
47218
47611
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
47219
47612
  exports.useTeamsCallAgent = useTeamsCallAgent;
47220
47613
  exports.useTheme = useTheme;
47221
- //# sourceMappingURL=index-8zA739Rz.js.map
47614
+ //# sourceMappingURL=index-B8uYcMR8.js.map