@azure/communication-react 1.22.0-alpha-202412040017 → 1.22.0-alpha-202412100018

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 (88) hide show
  1. package/dist/communication-react.d.ts +145 -12
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DtCoVNyP.js → ChatMessageComponentAsRichTextEditBox-Bpez2mhK.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DtCoVNyP.js.map → ChatMessageComponentAsRichTextEditBox-Bpez2mhK.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-7qJEM1bW.js → RichTextSendBoxWrapper-CrmMCuXY.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-7qJEM1bW.js.map → RichTextSendBoxWrapper-CrmMCuXY.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-BO9Ei_hI.js → index-DIxf34Zj.js} +231 -102
  7. package/dist/dist-cjs/communication-react/index-DIxf34Zj.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +2 -1
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +5 -0
  13. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +8 -0
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +6 -6
  16. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +2 -2
  17. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +48 -8
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +20 -20
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +2 -2
  22. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +4 -1
  23. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -2
  25. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +45 -3
  28. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +11 -5
  31. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +7 -1
  33. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  34. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +5 -1
  35. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  36. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +2 -1
  37. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +15 -0
  38. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  39. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.d.ts +1 -0
  40. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +62 -0
  41. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  42. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.d.ts +1 -0
  43. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.js +7 -4
  44. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.js.map +1 -1
  45. package/dist/dist-esm/communication-react/src/index.d.ts +2 -0
  46. package/dist/dist-esm/communication-react/src/index.js +1 -0
  47. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/Caption.d.ts +2 -2
  49. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +42 -11
  51. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +6 -3
  52. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +4 -0
  54. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  55. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/SystemMessage.js +15 -4
  57. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  58. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +4 -4
  59. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  60. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js +4 -2
  61. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  62. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +0 -13
  63. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +0 -13
  64. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  65. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +3 -3
  66. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  67. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -1
  68. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  69. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +3 -0
  70. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.d.ts +7 -31
  71. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js.map +1 -1
  72. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +3 -1
  73. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +2 -2
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  76. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +1 -13
  77. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  78. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.d.ts +1 -1
  79. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js +8 -3
  80. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  81. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +1 -1
  82. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/common/{CaptionsBanner.d.ts → CallingCaptionsBanner.d.ts} +2 -2
  84. package/dist/dist-esm/react-composites/src/composites/common/{CaptionsBanner.js → CallingCaptionsBanner.js} +7 -10
  85. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -0
  86. package/package.json +2 -2
  87. package/dist/dist-cjs/communication-react/index-BO9Ei_hI.js.map +0 -1
  88. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.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.22.0-alpha-202412040017';
191
+ var telemetryVersion = '1.22.0-alpha-202412100018';
192
192
 
193
193
 
194
194
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -1384,40 +1384,40 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1384
1384
  }
1385
1385
  };
1386
1386
  /* @conditional-compile-remove(media-access) */
1387
- const onForbidParticipantAudio = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1387
+ const onForbidAudio = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1388
1388
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1389
1389
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).forbidAudio(participants));
1390
1390
  });
1391
1391
  /* @conditional-compile-remove(media-access) */
1392
- const onPermitParticipantAudio = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1392
+ const onPermitAudio = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1393
1393
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1394
1394
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).permitAudio(participants));
1395
1395
  });
1396
1396
  /* @conditional-compile-remove(media-access) */
1397
- const onForbidRemoteParticipantsAudio = () => __awaiter$11(void 0, void 0, void 0, function* () {
1398
- yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).forbidRemoteParticipantsAudio());
1397
+ const onForbidOthersAudio = () => __awaiter$11(void 0, void 0, void 0, function* () {
1398
+ yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).forbidOthersAudio());
1399
1399
  });
1400
1400
  /* @conditional-compile-remove(media-access) */
1401
- const onPermitRemoteParticipantsAudio = () => __awaiter$11(void 0, void 0, void 0, function* () {
1402
- yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).permitRemoteParticipantsAudio());
1401
+ const onPermitOthersAudio = () => __awaiter$11(void 0, void 0, void 0, function* () {
1402
+ yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).permitOthersAudio());
1403
1403
  });
1404
1404
  /* @conditional-compile-remove(media-access) */
1405
- const onForbidParticipantVideo = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1405
+ const onForbidVideo = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1406
1406
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1407
1407
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).forbidVideo(participants));
1408
1408
  });
1409
1409
  /* @conditional-compile-remove(media-access) */
1410
- const onPermitParticipantVideo = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1410
+ const onPermitVideo = (userIds) => __awaiter$11(void 0, void 0, void 0, function* () {
1411
1411
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
1412
1412
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).permitVideo(participants));
1413
1413
  });
1414
1414
  /* @conditional-compile-remove(media-access) */
1415
- const onForbidRemoteParticipantsVideo = () => __awaiter$11(void 0, void 0, void 0, function* () {
1416
- yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).forbidRemoteParticipantsVideo());
1415
+ const onForbidOthersVideo = () => __awaiter$11(void 0, void 0, void 0, function* () {
1416
+ yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).forbidOthersVideo());
1417
1417
  });
1418
1418
  /* @conditional-compile-remove(media-access) */
1419
- const onPermitRemoteParticipantsVideo = () => __awaiter$11(void 0, void 0, void 0, function* () {
1420
- yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).permitRemoteParticipantsVideo());
1419
+ const onPermitOthersVideo = () => __awaiter$11(void 0, void 0, void 0, function* () {
1420
+ yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.MediaAccess).permitOthersVideo());
1421
1421
  });
1422
1422
  return {
1423
1423
  onHangUp,
@@ -1478,21 +1478,21 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1478
1478
  /* @conditional-compile-remove(together-mode) */
1479
1479
  onSetTogetherModeSceneSize,
1480
1480
  /* @conditional-compile-remove(media-access) */
1481
- onForbidParticipantAudio,
1481
+ onForbidAudio,
1482
1482
  /* @conditional-compile-remove(media-access) */
1483
- onPermitParticipantAudio,
1483
+ onPermitAudio,
1484
1484
  /* @conditional-compile-remove(media-access) */
1485
- onForbidRemoteParticipantsAudio,
1485
+ onForbidOthersAudio,
1486
1486
  /* @conditional-compile-remove(media-access) */
1487
- onPermitRemoteParticipantsAudio,
1487
+ onPermitOthersAudio,
1488
1488
  /* @conditional-compile-remove(media-access) */
1489
- onForbidParticipantVideo,
1489
+ onForbidVideo,
1490
1490
  /* @conditional-compile-remove(media-access) */
1491
- onPermitParticipantVideo,
1491
+ onPermitVideo,
1492
1492
  /* @conditional-compile-remove(media-access) */
1493
- onForbidRemoteParticipantsVideo,
1493
+ onForbidOthersVideo,
1494
1494
  /* @conditional-compile-remove(media-access) */
1495
- onPermitRemoteParticipantsVideo
1495
+ onPermitOthersVideo
1496
1496
  };
1497
1497
  });
1498
1498
 
@@ -1661,7 +1661,7 @@ const notificationStackSelector = reselect.createSelector([
1661
1661
  getMeetingConferencePhones,
1662
1662
  /* @conditional-compile-remove(breakout-rooms) */ getAssignedBreakoutRoom$1
1663
1663
  ], (latestErrors,
1664
- /* @conditional-compile-remove(breakout-rooms) */ latestNotifications, diagnostics, deviceManager, environmentInfo, meetingConference,
1664
+ /* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */ latestNotifications, diagnostics, deviceManager, environmentInfo, meetingConference,
1665
1665
  /* @conditional-compile-remove(breakout-rooms) */ assignedBreakoutRoom) => {
1666
1666
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
1667
1667
  // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.
@@ -1772,7 +1772,8 @@ const notificationStackSelector = reselect.createSelector([
1772
1772
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');
1773
1773
  }
1774
1774
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');
1775
- appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.mutedByOthers', 'mutedByRemoteParticipant');
1775
+ appendMuteByOthersNotificationTrampoline(activeErrorMessages, latestErrors,
1776
+ /* @conditional-compile-remove(media-access) */ latestNotifications);
1776
1777
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');
1777
1778
  if (((_s = latestErrors['CallAgent.join']) === null || _s === void 0 ? void 0 : _s.message) === 'CallAgent.join: Invalid meeting link') {
1778
1779
  appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');
@@ -1829,6 +1830,34 @@ const notificationStackSelector = reselect.createSelector([
1829
1830
  timestamp: latestNotifications['breakoutRoomClosingSoon'].timestamp
1830
1831
  });
1831
1832
  }
1833
+ /* @conditional-compile-remove(media-access) */
1834
+ if (latestNotifications['capabilityTurnVideoOnPresent']) {
1835
+ activeNotifications.push({
1836
+ type: 'capabilityTurnVideoOnPresent',
1837
+ timestamp: latestNotifications['capabilityTurnVideoOnPresent'].timestamp
1838
+ });
1839
+ }
1840
+ /* @conditional-compile-remove(media-access) */
1841
+ if (latestNotifications['capabilityTurnVideoOnAbsent']) {
1842
+ activeNotifications.push({
1843
+ type: 'capabilityTurnVideoOnAbsent',
1844
+ timestamp: latestNotifications['capabilityTurnVideoOnAbsent'].timestamp
1845
+ });
1846
+ }
1847
+ /* @conditional-compile-remove(media-access) */
1848
+ if (latestNotifications['capabilityUnmuteMicPresent']) {
1849
+ activeNotifications.push({
1850
+ type: 'capabilityUnmuteMicPresent',
1851
+ timestamp: latestNotifications['capabilityUnmuteMicPresent'].timestamp
1852
+ });
1853
+ }
1854
+ /* @conditional-compile-remove(media-access) */
1855
+ if (latestNotifications['capabilityUnmuteMicAbsent']) {
1856
+ activeNotifications.push({
1857
+ type: 'capabilityUnmuteMicAbsent',
1858
+ timestamp: latestNotifications['capabilityUnmuteMicAbsent'].timestamp
1859
+ });
1860
+ }
1832
1861
  return { activeErrorMessages: activeErrorMessages, activeNotifications: activeNotifications };
1833
1862
  });
1834
1863
  const appendActiveErrorIfDefined$1 = (activeErrorMessages, latestErrors, target, activeErrorType) => {
@@ -1840,6 +1869,16 @@ const appendActiveErrorIfDefined$1 = (activeErrorMessages, latestErrors, target,
1840
1869
  timestamp: latestErrors[target].timestamp
1841
1870
  });
1842
1871
  };
1872
+ const appendMuteByOthersNotificationTrampoline = (activeErrorMessages, latestErrors, latestNotifications) => {
1873
+ /* @conditional-compile-remove(media-access) */
1874
+ if (latestNotifications &&
1875
+ !latestNotifications['capabilityUnmuteMicAbsent'] &&
1876
+ !latestNotifications['capabilityUnmuteMicPresent']) {
1877
+ appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.mutedByOthers', 'mutedByRemoteParticipant');
1878
+ }
1879
+ /* @conditional-compile-remove(media-access) */
1880
+ return;
1881
+ };
1843
1882
 
1844
1883
  // Copyright (c) Microsoft Corporation.
1845
1884
  // Licensed under the MIT License.
@@ -1908,9 +1947,9 @@ const _captionSettingsSelector = reselect__namespace.createSelector([
1908
1947
  /**
1909
1948
  * Selector for {@link CaptionsBanner} component.
1910
1949
  *
1911
- * @internal
1950
+ * @public
1912
1951
  */
1913
- const _captionsBannerSelector = reselect__namespace.createSelector([getCaptions, getCaptionsStatus$1, getStartCaptionsInProgress, getRemoteParticipants$1, getDisplayName$2, getIdentifier], (captions, isCaptionsFeatureActive, startCaptionsInProgress, remoteParticipants, displayName, identifier) => {
1952
+ const captionsBannerSelector = reselect__namespace.createSelector([getCaptions, getCaptionsStatus$1, getStartCaptionsInProgress, getRemoteParticipants$1, getDisplayName$2, getIdentifier], (captions, isCaptionsFeatureActive, startCaptionsInProgress, remoteParticipants, displayName, identifier) => {
1914
1953
  const captionsInfo = captions === null || captions === void 0 ? void 0 : captions.map((c, index) => {
1915
1954
  var _a;
1916
1955
  const userId = getCaptionsSpeakerIdentifier(c);
@@ -3704,6 +3743,21 @@ let CallContext$2 = class CallContext {
3704
3743
  });
3705
3744
  });
3706
3745
  }
3746
+ /* @conditional-compile-remove(media-access) */
3747
+ setMeetingMediaAccess(callId, meetingMediaAccess) {
3748
+ this.modifyState((draft) => {
3749
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
3750
+ if (!call) {
3751
+ return;
3752
+ }
3753
+ if (meetingMediaAccess) {
3754
+ call.mediaAccess = {
3755
+ isAudioPermitted: meetingMediaAccess.isAudioPermitted,
3756
+ isVideoPermitted: meetingMediaAccess.isVideoPermitted
3757
+ };
3758
+ }
3759
+ });
3760
+ }
3707
3761
  };
3708
3762
  const toCallError = (target, error) => {
3709
3763
  if (error instanceof Error) {
@@ -4947,6 +5001,68 @@ class CapabilitiesSubscriber {
4947
5001
  if (data.oldValue.viewAttendeeNames !== data.newValue.viewAttendeeNames) {
4948
5002
  this._context.setHideAttendeeNames(this._callIdRef.callId, data);
4949
5003
  }
5004
+ /* @conditional-compile-remove(media-access) */
5005
+ this.setUnmuteMicAndTurnVideoOnNotification(data);
5006
+ };
5007
+ /* @conditional-compile-remove(media-access) */
5008
+ this.setUnmuteMicAndTurnVideoOnNotification = (data) => {
5009
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
5010
+ if (((_a = data.oldValue.turnVideoOn) === null || _a === void 0 ? void 0 : _a.isPresent) !== ((_b = data.newValue.turnVideoOn) === null || _b === void 0 ? void 0 : _b.isPresent)) {
5011
+ if (((_c = data.oldValue.turnVideoOn) === null || _c === void 0 ? void 0 : _c.isPresent) === false && ((_d = data.newValue.turnVideoOn) === null || _d === void 0 ? void 0 : _d.isPresent)) {
5012
+ const capabilityTurnVideoOnAbsent = this._context.getState().latestNotifications.capabilityTurnVideoOnAbsent;
5013
+ if (capabilityTurnVideoOnAbsent) {
5014
+ this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityTurnVideoOnAbsent');
5015
+ }
5016
+ const capabilityTurnVideoOnPresent = this._context.getState().latestNotifications.capabilityTurnVideoOnPresent;
5017
+ if (!capabilityTurnVideoOnPresent) {
5018
+ this._context.setLatestNotification(this._callIdRef.callId, {
5019
+ target: 'capabilityTurnVideoOnPresent',
5020
+ timestamp: new Date(Date.now())
5021
+ });
5022
+ }
5023
+ }
5024
+ if (((_e = data.newValue.turnVideoOn) === null || _e === void 0 ? void 0 : _e.isPresent) === false) {
5025
+ const capabilityTurnVideoOnPresent = this._context.getState().latestNotifications.capabilityTurnVideoOnPresent;
5026
+ if (capabilityTurnVideoOnPresent) {
5027
+ this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityTurnVideoOnPresent');
5028
+ }
5029
+ const capabilityTurnVideoOnAbsent = this._context.getState().latestNotifications.capabilityTurnVideoOnAbsent;
5030
+ if (!capabilityTurnVideoOnAbsent) {
5031
+ this._context.setLatestNotification(this._callIdRef.callId, {
5032
+ target: 'capabilityTurnVideoOnAbsent',
5033
+ timestamp: new Date(Date.now())
5034
+ });
5035
+ }
5036
+ }
5037
+ }
5038
+ if (((_f = data.oldValue.unmuteMic) === null || _f === void 0 ? void 0 : _f.isPresent) !== ((_g = data.newValue.unmuteMic) === null || _g === void 0 ? void 0 : _g.isPresent)) {
5039
+ if (((_h = data.oldValue.unmuteMic) === null || _h === void 0 ? void 0 : _h.isPresent) === false && ((_j = data.newValue.unmuteMic) === null || _j === void 0 ? void 0 : _j.isPresent)) {
5040
+ const capabilityUnmuteMicAbsent = this._context.getState().latestNotifications.capabilityUnmuteMicAbsent;
5041
+ if (capabilityUnmuteMicAbsent) {
5042
+ this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityUnmuteMicAbsent');
5043
+ }
5044
+ const capabilityUnmuteMicPresent = this._context.getState().latestNotifications.capabilityUnmuteMicPresent;
5045
+ if (!capabilityUnmuteMicPresent) {
5046
+ this._context.setLatestNotification(this._callIdRef.callId, {
5047
+ target: 'capabilityUnmuteMicPresent',
5048
+ timestamp: new Date(Date.now())
5049
+ });
5050
+ }
5051
+ }
5052
+ if (((_k = data.newValue.unmuteMic) === null || _k === void 0 ? void 0 : _k.isPresent) === false) {
5053
+ const capabilityUnmuteMicPresent = this._context.getState().latestNotifications.capabilityUnmuteMicPresent;
5054
+ if (capabilityUnmuteMicPresent) {
5055
+ this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityUnmuteMicPresent');
5056
+ }
5057
+ const capabilityUnmuteMicAbsent = this._context.getState().latestNotifications.capabilityUnmuteMicAbsent;
5058
+ if (!capabilityUnmuteMicAbsent) {
5059
+ this._context.setLatestNotification(this._callIdRef.callId, {
5060
+ target: 'capabilityUnmuteMicAbsent',
5061
+ timestamp: new Date(Date.now())
5062
+ });
5063
+ }
5064
+ }
5065
+ }
4950
5066
  };
4951
5067
  this._callIdRef = callIdRef;
4952
5068
  this._context = context;
@@ -5464,18 +5580,21 @@ class MediaAccessSubscriber {
5464
5580
  constructor(callIdRef, context, mediaAccessCallFeature) {
5465
5581
  this.subscribe = () => {
5466
5582
  this._mediaAccessCallFeature.on('mediaAccessChanged', this.mediaAccessChanged);
5583
+ this._mediaAccessCallFeature.on('meetingMediaAccessChanged', this.meetingMediaAccessChanged);
5467
5584
  };
5468
5585
  this.unsubscribe = () => {
5469
5586
  this._mediaAccessCallFeature.off('mediaAccessChanged', this.mediaAccessChanged);
5587
+ this._mediaAccessCallFeature.off('meetingMediaAccessChanged', this.meetingMediaAccessChanged);
5470
5588
  };
5471
- this.mediaAccessChanged = (data) => {
5472
- this._context.setMediaAccesses(this._callIdRef.callId, data.mediaAccesses);
5473
- };
5589
+ this.mediaAccessChanged = (data) => this._context.setMediaAccesses(this._callIdRef.callId, data.mediaAccesses);
5590
+ this.meetingMediaAccessChanged = (data) => this._context.setMeetingMediaAccess(this._callIdRef.callId, data.meetingMediaAccess);
5474
5591
  this._callIdRef = callIdRef;
5475
5592
  this._context = context;
5476
5593
  this._mediaAccessCallFeature = mediaAccessCallFeature;
5477
- const mediaAccesses = this._mediaAccessCallFeature.getRemoteParticipantsMediaAccess();
5594
+ const mediaAccesses = this._mediaAccessCallFeature.getAllOthersMediaAccess();
5595
+ const meetingMediaAccess = this._mediaAccessCallFeature.getMeetingMediaAccess();
5478
5596
  this._context.setMediaAccesses(this._callIdRef.callId, mediaAccesses);
5597
+ this._context.setMeetingMediaAccess(this._callIdRef.callId, meetingMediaAccess);
5479
5598
  this.subscribe();
5480
5599
  }
5481
5600
  }
@@ -7177,7 +7296,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
7177
7296
  wordBreak: 'break-word'
7178
7297
  });
7179
7298
 
7180
- 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}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee"};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 rttModal$n={rttModalAriaLabel:"Turn on RTT Modal",rttModalTitle:"Turn on RTT?",rttModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",rttConfirmButtonLabel:"Turn on",rttCancelButtonLabel:"Cancel",rttCloseModalButtonAriaLabel:"Close RTT Modal"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};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",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 Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var rtt$n={isTypingText:"RTT typing"};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:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$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"}};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"};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} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking"};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 rttDisclosureBanner$n={bannerTitle:"RTT",bannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",bannerLinkLabel:"Learn more"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,rttModal:rttModal$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,rtt:rtt$n,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,rttDisclosureBanner:rttDisclosureBanner$n};
7299
+ 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}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee"};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 rttModal$n={rttModalAriaLabel:"Turn on RTT Modal",rttModalTitle:"Turn on RTT?",rttModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",rttConfirmButtonLabel:"Turn on",rttCancelButtonLabel:"Cancel",rttCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner={captionsBannerSpinnerText:"Starting captions..."};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};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",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 Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var rtt$n={isTypingText:"RTT typing"};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:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$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"}};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"};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} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking"};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 rttDisclosureBanner$n={bannerTitle:"RTT",bannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",bannerLinkLabel:"Learn more"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,rttModal:rttModal$n,captionsBanner:captionsBanner,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,rtt:rtt$n,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,rttDisclosureBanner:rttDisclosureBanner$n};
7181
7300
 
7182
7301
  // Copyright (c) Microsoft Corporation.
7183
7302
  // Licensed under the MIT License.
@@ -11773,7 +11892,9 @@ const richTextEditorStyle = (props) => {
11773
11892
  minHeight: props.minHeight,
11774
11893
  maxHeight: props.maxHeight,
11775
11894
  maxWidth: '100%',
11776
- paddingTop: '0.5rem'
11895
+ paddingTop: '0.5rem',
11896
+ paddingInlineStart: `0.75rem`,
11897
+ paddingInlineEnd: `0.75rem`
11777
11898
  });
11778
11899
  };
11779
11900
  /**
@@ -11781,8 +11902,6 @@ const richTextEditorStyle = (props) => {
11781
11902
  */
11782
11903
  const richTextEditorWrapperStyle = (theme) => {
11783
11904
  return react.mergeStyles({
11784
- paddingInlineStart: `0.75rem`,
11785
- paddingInlineEnd: `0.75rem`,
11786
11905
  maxWidth: '100%',
11787
11906
  color: theme.palette.neutralPrimary,
11788
11907
  '& img': {
@@ -14009,19 +14128,6 @@ const MessageStatusIndicatorIconStyle = react.mergeStyles({
14009
14128
 
14010
14129
  // Copyright (c) Microsoft Corporation.
14011
14130
  // Licensed under the MIT License.
14012
- /**
14013
- * @private
14014
- */
14015
- const scrollbarStyles = {
14016
- '::-webkit-scrollbar, *::-webkit-scrollbar': {
14017
- width: '0.3rem',
14018
- height: '0.3rem'
14019
- },
14020
- '::-webkit-scrollbar-thumb, *::-webkit-scrollbar-thumb': {
14021
- borderRadius: '10px',
14022
- background: 'rgba(150, 150, 150)'
14023
- }
14024
- };
14025
14131
  const ERROR_IMAGE_SVG_PATH = 'M2.85 2.15a.5.5 0 1 0-.7.7l1.4 1.41A2.99 2.99 0 0 0 3 6v8a3 3 0 0 0 3 3h8c.65 0 1.25-.2 1.74-.55l1.4 1.4a.5.5 0 0 0 .71-.7l-15-15Zm6.56 7.97a1.5 1.5 0 0 0-.46.31l-4.67 4.59A2 2 0 0 1 4 14V6a2 2 0 0 1 .28-1.02l5.13 5.14ZM6 16a2 2 0 0 1-1.01-.27l4.66-4.58c.2-.2.5-.2.7 0l4.66 4.58A2 2 0 0 1 14 16H6ZM16 6v7.88l.9.9A3 3 0 0 0 17 14V6a3 3 0 0 0-3-3H6a3 3 0 0 0-.78.1l.9.9H14a2 2 0 0 1 2 2Zm-2 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm-1 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z';
14026
14132
  /**
14027
14133
  * @private
@@ -14952,9 +15058,19 @@ const systemMessageIconStyle = react.mergeStyles({
14952
15058
  const SystemMessage = (props) => {
14953
15059
  const { iconName, content } = props;
14954
15060
  const Icon = React.createElement(react.FontIcon, { iconName: iconName, className: react.mergeStyles(systemMessageIconStyle) });
14955
- return (React.createElement(react.Stack, { horizontal: true, className: react.mergeStyles(props === null || props === void 0 ? void 0 : props.containerStyle), tabIndex: 0 },
14956
- Icon,
14957
- React.createElement(react.Text, { style: { wordBreak: 'break-word' }, role: "status", title: content, variant: 'small' }, content)));
15061
+ const [liveMessage, setLiveMessage] = React.useState('');
15062
+ React.useEffect(() => {
15063
+ // Timeout is needed to handle situation when the same user joins and leaves a chat a few times in a row, otherwise Narrator won't repeat the system message text.
15064
+ // Because delay value is not provided, setMessage function will be executed asynchronously in the next event cycle
15065
+ setTimeout(() => {
15066
+ setLiveMessage(content);
15067
+ });
15068
+ }, [content]);
15069
+ return (React.createElement(React.Fragment, null,
15070
+ React.createElement(LiveMessage, { message: liveMessage, ariaLive: "polite", clearOnUnmount: true }),
15071
+ React.createElement(react.Stack, { horizontal: true, className: react.mergeStyles(props === null || props === void 0 ? void 0 : props.containerStyle), tabIndex: 0 },
15072
+ Icon,
15073
+ React.createElement(react.Text, { style: { wordBreak: 'break-word' }, role: "status", title: content, variant: 'small' }, content))));
14958
15074
  };
14959
15075
 
14960
15076
  // Copyright (c) Microsoft Corporation.
@@ -15925,7 +16041,7 @@ class _ErrorBoundary extends React.Component {
15925
16041
  // Copyright (c) Microsoft Corporation.
15926
16042
  // Licensed under the MIT License.
15927
16043
  /* @conditional-compile-remove(rich-text-editor) */
15928
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DtCoVNyP.js'); }));
16044
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Bpez2mhK.js'); }));
15929
16045
  /**
15930
16046
  * @private
15931
16047
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -15933,7 +16049,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
15933
16049
  *
15934
16050
  * @conditional-compile-remove(rich-text-editor)
15935
16051
  */
15936
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DtCoVNyP.js'); });
16052
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Bpez2mhK.js'); });
15937
16053
  /**
15938
16054
  * @private
15939
16055
  */
@@ -24866,13 +24982,13 @@ const resetUlStyling = {
24866
24982
  * @private
24867
24983
  */
24868
24984
  const captionsBannerClassName = (formFactor) => {
24869
- return react.mergeStyles(Object.assign(Object.assign(Object.assign({}, resetUlStyling), { overflowX: 'hidden', height: formFactor === 'compact' ? '4.5rem' : '8.75rem', overflowY: 'auto' }), scrollbarStyles));
24985
+ return react.mergeStyles(Object.assign(Object.assign({}, resetUlStyling), { overflowX: 'hidden', height: formFactor === 'compact' ? '4.5rem' : '8.75rem', overflowY: 'auto' }));
24870
24986
  };
24871
24987
  /**
24872
24988
  * @private
24873
24989
  */
24874
24990
  const captionsBannerFullHeightClassName = (theme) => {
24875
- return react.mergeStyles(Object.assign(Object.assign(Object.assign({}, resetUlStyling), { overflowX: 'hidden', overflowY: 'auto', height: '100%', width: '100%', position: 'absolute', backgroundColor: theme.palette.white, left: 0 }), scrollbarStyles));
24991
+ return react.mergeStyles(Object.assign(Object.assign({}, resetUlStyling), { overflowX: 'hidden', overflowY: 'auto', height: '100%', width: '100%', position: 'absolute', backgroundColor: theme.palette.white, left: 0 }));
24876
24992
  };
24877
24993
  /**
24878
24994
  * @private
@@ -24902,7 +25018,8 @@ const loadingBannerFullHeightStyles = (theme) => {
24902
25018
  * @private
24903
25019
  */
24904
25020
  const captionsContentContainerClassName = react.mergeStyles({
24905
- width: '100%'
25021
+ width: '100%',
25022
+ paddingInlineEnd: _pxToRem(4)
24906
25023
  });
24907
25024
  /**
24908
25025
  * @private
@@ -24946,11 +25063,13 @@ const _Caption = (props) => {
24946
25063
  // Licensed under the MIT License.
24947
25064
  const SCROLL_OFFSET_ALLOWANCE = 20;
24948
25065
  /**
24949
- * @internal
25066
+ * @public
24950
25067
  * A component for displaying a CaptionsBanner with user icon, displayName and captions text.
24951
25068
  */
24952
- const _CaptionsBanner = (props) => {
24953
- const { captions, isCaptionsOn, startCaptionsInProgress, onRenderAvatar, strings, formFactor = 'default', captionsOptions } = props;
25069
+ const CaptionsBanner = (props) => {
25070
+ const { captions, isCaptionsOn, startCaptionsInProgress, onRenderAvatar, formFactor = 'default', captionsOptions } = props;
25071
+ const localeStrings = useLocale$1().strings.captionsBanner;
25072
+ const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
24954
25073
  const captionsScrollDivRef = React.useRef(null);
24955
25074
  const [isAtBottomOfScroll, setIsAtBottomOfScroll] = React.useState(true);
24956
25075
  const theme = react.useTheme();
@@ -25085,7 +25204,10 @@ const buttonStyles = (theme) => {
25085
25204
  * @private
25086
25205
  */
25087
25206
  const dropdownStyles = {
25088
- callout: Object.assign({ height: _pxToRem(300), overflow: 'auto' }, scrollbarStyles),
25207
+ callout: {
25208
+ height: _pxToRem(300),
25209
+ overflow: 'auto'
25210
+ },
25089
25211
  dropdownOptionText: {
25090
25212
  textWrap: 'auto',
25091
25213
  overflow: 'unset'
@@ -26272,23 +26394,27 @@ const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAttendeeN
26272
26394
  /* @conditional-compile-remove(remote-ufd) */
26273
26395
  Math.max(((_c = (_b = (_a = participant.diagnostics) === null || _a === void 0 ? void 0 : _a.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 0), ((_f = (_e = (_d = participant.diagnostics) === null || _d === void 0 ? void 0 : _d.networkSendQuality) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : 0)),
26274
26396
  /* @conditional-compile-remove(media-access) */
26275
- participant.mediaAccess);
26397
+ participant.mediaAccess,
26398
+ /* @conditional-compile-remove(media-access) */
26399
+ participant.role);
26276
26400
  }));
26277
26401
  });
26278
26402
  };
26279
26403
  const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight,
26280
26404
  /* @conditional-compile-remove(remote-ufd) */
26281
- signalStrength, mediaAccess) => {
26405
+ signalStrength, mediaAccess, role) => {
26282
26406
  return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight,
26283
26407
  /* @conditional-compile-remove(remote-ufd) */
26284
26408
  signalStrength,
26285
26409
  /* @conditional-compile-remove(media-access) */
26286
- mediaAccess);
26410
+ mediaAccess,
26411
+ /* @conditional-compile-remove(media-access) */
26412
+ role);
26287
26413
  });
26288
26414
  /** @private */
26289
26415
  const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight,
26290
26416
  /* @conditional-compile-remove(remote-ufd) */
26291
- signalStrength, mediaAccess) => {
26417
+ signalStrength, mediaAccess, role) => {
26292
26418
  const rawVideoStreamsArray = Object.values(videoStreams);
26293
26419
  let videoStream = undefined;
26294
26420
  let screenShareStream = undefined;
@@ -26327,7 +26453,9 @@ signalStrength, mediaAccess) => {
26327
26453
  /* @conditional-compile-remove(remote-ufd) */
26328
26454
  signalStrength,
26329
26455
  /* @conditional-compile-remove(media-access) */
26330
- mediaAccess
26456
+ mediaAccess,
26457
+ /* @conditional-compile-remove(media-access) */
26458
+ role
26331
26459
  };
26332
26460
  };
26333
26461
  const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
@@ -26435,7 +26563,13 @@ const videoGallerySelector = reselect.createSelector([
26435
26563
  const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants);
26436
26564
  return {
26437
26565
  screenShareParticipant: screenShareRemoteParticipant
26438
- ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight)
26566
+ ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight,
26567
+ /* @conditional-compile-remove(media-access) */
26568
+ undefined,
26569
+ /* @conditional-compile-remove(media-access) */
26570
+ screenShareRemoteParticipant.mediaAccess,
26571
+ /* @conditional-compile-remove(media-access) */
26572
+ role)
26439
26573
  : undefined,
26440
26574
  localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, localScreenSharingStream, role, raisedHand, localParticipantReactionState, spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.localParticipantSpotlight, capabilities),
26441
26575
  remoteParticipants: _videoGalleryRemoteParticipantsMemo(_updateUserDisplayNames(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants), isHideAttendeeNamesEnabled, role),
@@ -26863,6 +26997,8 @@ const findSelector$1 = (component) => {
26863
26997
  return holdButtonSelector;
26864
26998
  case IncomingCallStack:
26865
26999
  return incomingCallStackSelector;
27000
+ case CaptionsBanner:
27001
+ return captionsBannerSelector;
26866
27002
  }
26867
27003
  return undefined;
26868
27004
  };
@@ -29923,16 +30059,21 @@ const globalLayerHostStyle = {
29923
30059
  */
29924
30060
  const ACSAudioProvider = (props) => {
29925
30061
  const { audioContext, children } = props;
30062
+ const [stateAudioContext, setStateAudioContext] = React.useState(undefined);
30063
+ React.useEffect(() => {
30064
+ // Create the AudioContext only when the component is rendered
30065
+ setStateAudioContext(audioContext);
30066
+ }, [audioContext]);
29926
30067
  const alreadyWrapped = useAudio();
29927
30068
  if (alreadyWrapped) {
29928
30069
  return React.createElement(React.Fragment, null, children);
29929
30070
  }
29930
- return React.createElement(ACSAudioContext.Provider, { value: audioContext }, props.children);
30071
+ return React.createElement(ACSAudioContext.Provider, { value: stateAudioContext }, props.children);
29931
30072
  };
29932
30073
  /**
29933
30074
  * @private
29934
30075
  */
29935
- const ACSAudioContext = React.createContext(new AudioContext());
30076
+ const ACSAudioContext = React.createContext(undefined);
29936
30077
  /**
29937
30078
  * @private
29938
30079
  */
@@ -30060,19 +30201,7 @@ const chatScreenContainerStyle = react.mergeStyles({
30060
30201
  const chatContainer = react.mergeStyles({
30061
30202
  height: '100%',
30062
30203
  width: '100%',
30063
- overflow: 'hidden',
30064
- '*::-webkit-scrollbar': {
30065
- width: '0.3rem',
30066
- height: '0.3rem'
30067
- },
30068
- '.scroll::-webkit-scrollbar-track': {
30069
- background: 'rgba(150, 150, 150)',
30070
- borderRadius: '0.3rem'
30071
- },
30072
- '*::-webkit-scrollbar-thumb': {
30073
- borderRadius: '10px',
30074
- background: 'rgba(150, 150, 150)'
30075
- }
30204
+ overflow: 'hidden'
30076
30205
  });
30077
30206
  /**
30078
30207
  * @private
@@ -30715,7 +30844,7 @@ const AttachmentDownloadErrorBar = (props) => {
30715
30844
  /**
30716
30845
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
30717
30846
  */
30718
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-7qJEM1bW.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
30847
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CrmMCuXY.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
30719
30848
  /**
30720
30849
  * @private
30721
30850
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -30723,7 +30852,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
30723
30852
  *
30724
30853
  /* @conditional-compile-remove(rich-text-editor-composite-support)
30725
30854
  */
30726
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-7qJEM1bW.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
30855
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CrmMCuXY.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
30727
30856
  /**
30728
30857
  * @private
30729
30858
  */
@@ -32901,14 +33030,27 @@ const CaptionsBannerMoreButton = (props) => {
32901
33030
  } })));
32902
33031
  };
32903
33032
 
33033
+ // Copyright (c) Microsoft Corporation.
33034
+ // Licensed under the MIT License.
33035
+ /**
33036
+ * @private
33037
+ */
33038
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
33039
+ const usePropsFor$1 = (component) => {
33040
+ const selector = getSelector$1(component);
33041
+ if (!selector) {
33042
+ throw new Error("Can't find the selector for component, please check supported component list");
33043
+ }
33044
+ return Object.assign(Object.assign({}, useAdaptedSelector(selector)), useHandlers());
33045
+ };
33046
+
32904
33047
  // Copyright (c) Microsoft Corporation.
32905
33048
  // Licensed under the MIT License.
32906
33049
  const mobileViewBannerWidth = '90%';
32907
33050
  /** @private */
32908
- const CaptionsBanner = (props) => {
32909
- var _a;
32910
- const captionsBannerProps = useAdaptedSelector(_captionsBannerSelector);
32911
- const handlers = useHandlers();
33051
+ const CallingCaptionsBanner = (props) => {
33052
+ var _a, _b;
33053
+ const captionsBannerProps = usePropsFor$1(CaptionsBanner);
32912
33054
  const [isCaptionsSettingsOpen, setIsCaptionsSettingsOpen] = React.useState(false);
32913
33055
  const onClickCaptionsSettings = () => {
32914
33056
  setIsCaptionsSettingsOpen(true);
@@ -32950,7 +33092,7 @@ const CaptionsBanner = (props) => {
32950
33092
  React.createElement("div", { className: containerClassName },
32951
33093
  React.createElement(react.Stack, { horizontalAlign: "center" },
32952
33094
  React.createElement(react.Stack.Item, { style: { width: props.isMobile ? mobileViewBannerWidth : desktopViewBannerWidth } },
32953
- React.createElement(_CaptionsBanner, Object.assign({}, captionsBannerProps, handlers, { captionsOptions: props.captionsOptions, onRenderAvatar: onRenderAvatar, formFactor: props.isMobile ? 'compact' : 'default', strings: captionsBannerStrings })))),
33095
+ React.createElement(CaptionsBanner, Object.assign({ captions: (_b = captionsBannerProps.captions) !== null && _b !== void 0 ? _b : [], captionsOptions: props.captionsOptions, onRenderAvatar: onRenderAvatar, formFactor: props.isMobile ? 'compact' : 'default', strings: captionsBannerStrings }, captionsBannerProps)))),
32954
33096
  !props.isMobile && captionsBannerProps.isCaptionsOn && (React.createElement("div", { className: floatingChildClassName },
32955
33097
  React.createElement(CaptionsBannerMoreButton, { onCaptionsSettingsClick: onClickCaptionsSettings, returnFocusRef: props.returnFocusRef }))))));
32956
33098
  };
@@ -32969,20 +33111,6 @@ const containerDivStyles = { position: 'relative', width: '100%', height: '100%'
32969
33111
  */
32970
33112
  const compositeMinWidthRem = 30;
32971
33113
 
32972
- // Copyright (c) Microsoft Corporation.
32973
- // Licensed under the MIT License.
32974
- /**
32975
- * @private
32976
- */
32977
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
32978
- const usePropsFor$1 = (component) => {
32979
- const selector = getSelector$1(component);
32980
- if (!selector) {
32981
- throw new Error("Can't find the selector for component, please check supported component list");
32982
- }
32983
- return Object.assign(Object.assign({}, useAdaptedSelector(selector)), useHandlers());
32984
- };
32985
-
32986
33114
  // Copyright (c) Microsoft Corporation.
32987
33115
  // Licensed under the MIT License.
32988
33116
  /**
@@ -37797,7 +37925,7 @@ const CallArrangement = (props) => {
37797
37925
  props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
37798
37926
  React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] }))))),
37799
37927
  renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent(),
37800
- !isInLocalHold && (React.createElement(CaptionsBanner, { captionsOptions: props.captionsOptions, isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions, returnFocusRef: controlBarRef }))))),
37928
+ !isInLocalHold && (React.createElement(CallingCaptionsBanner, { captionsOptions: props.captionsOptions, isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions, returnFocusRef: controlBarRef }))))),
37801
37929
  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)
37802
37930
  ? undefined
37803
37931
  : togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
@@ -45280,6 +45408,7 @@ exports.CallWithChatComposite = CallWithChatComposite;
45280
45408
  exports.CameraAndMicrophoneSitePermissions = CameraAndMicrophoneSitePermissions;
45281
45409
  exports.CameraButton = CameraButton;
45282
45410
  exports.CameraSitePermissions = CameraSitePermissions;
45411
+ exports.CaptionsBanner = CaptionsBanner;
45283
45412
  exports.ChatClientProvider = ChatClientProvider;
45284
45413
  exports.ChatComposite = ChatComposite;
45285
45414
  exports.ChatThreadClientProvider = ChatThreadClientProvider;
@@ -45391,4 +45520,4 @@ exports.useTeamsCall = useTeamsCall;
45391
45520
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
45392
45521
  exports.useTeamsCallAgent = useTeamsCallAgent;
45393
45522
  exports.useTheme = useTheme;
45394
- //# sourceMappingURL=index-BO9Ei_hI.js.map
45523
+ //# sourceMappingURL=index-DIxf34Zj.js.map