@azure/communication-react 1.24.0-alpha-202502060016 → 1.24.0-alpha-202502080015

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 (49) hide show
  1. package/dist/communication-react.d.ts +0 -2
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js → ChatMessageComponentAsRichTextEditBox-ivLuM0hU.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js.map → ChatMessageComponentAsRichTextEditBox-ivLuM0hU.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DDAUr3rm.js → RichTextSendBoxWrapper-2SdAfbKN.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DDAUr3rm.js.map → RichTextSendBoxWrapper-2SdAfbKN.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-DHKLzBam.js → index-Cj-dtYLo.js} +100 -69
  7. package/dist/dist-cjs/communication-react/index-Cj-dtYLo.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +8 -2
  12. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +16 -17
  14. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  15. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +0 -2
  16. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  17. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -2
  18. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -20
  19. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +2 -1
  21. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  22. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +4 -4
  23. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +2 -2
  25. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +13 -4
  27. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  28. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +5 -1
  29. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +14 -0
  30. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  31. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +6 -3
  32. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  33. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +9 -0
  34. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  35. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +3 -1
  36. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  37. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +4 -2
  38. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  39. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js +1 -1
  40. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +0 -1
  42. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  43. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +9 -5
  44. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  45. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +1 -0
  46. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  47. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -1
  48. package/package.json +1 -1
  49. package/dist/dist-cjs/communication-react/index-DHKLzBam.js.map +0 -1
@@ -188,7 +188,7 @@ function getDefaultExportFromCjs (x) {
188
188
  // Copyright (c) Microsoft Corporation.
189
189
  // Licensed under the MIT License.
190
190
  // GENERATED FILE. DO NOT EDIT MANUALLY.
191
- var telemetryVersion = '1.24.0-alpha-202502060016';
191
+ var telemetryVersion = '1.24.0-alpha-202502080015';
192
192
 
193
193
 
194
194
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -569,12 +569,18 @@ const getStartCaptionsInProgress = (state, props) => {
569
569
  };
570
570
  /** @private */
571
571
  const getCurrentCaptionLanguage = (state, props) => {
572
- var _a;
573
- return (_a = state.calls[props.callId]) === null || _a === undefined ? undefined : _a.captionsFeature.currentCaptionLanguage;
572
+ var _a, _b;
573
+ // we default to 'en' if the currentCaptionLanguage is not set
574
+ if (((_a = state.calls[props.callId]) === null || _a === undefined ? undefined : _a.captionsFeature.currentCaptionLanguage) === '') {
575
+ return 'en';
576
+ }
577
+ return (_b = state.calls[props.callId]) === null || _b === undefined ? undefined : _b.captionsFeature.currentCaptionLanguage;
574
578
  };
575
579
  /** @private */
576
580
  const getCurrentSpokenLanguage = (state, props) => {
577
581
  var _a;
582
+ // when currentSpokenLanguage is '', it means the spoken language is not set.
583
+ // In this case we suggest showing the captions modal to set the spoken language when starting captions
578
584
  return (_a = state.calls[props.callId]) === null || _a === undefined ? undefined : _a.captionsFeature.currentSpokenLanguage;
579
585
  };
580
586
  /** @private */
@@ -2874,14 +2880,6 @@ let CallContext$2 = class CallContext {
2874
2880
  draft.calls[newCallId] = call;
2875
2881
  }
2876
2882
  /* @conditional-compile-remove(breakout-rooms) */
2877
- // Update the old origin call id of breakout room calls to the new call id
2878
- Object.values(draft.calls).forEach((call) => {
2879
- var _a, _b;
2880
- if (((_a = call.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomOriginCallId) === oldCallId) {
2881
- ((_b = call.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomOriginCallId) === newCallId;
2882
- }
2883
- });
2884
- /* @conditional-compile-remove(breakout-rooms) */
2885
2883
  // Update call ids in latestCallIdsThatPushedNotifications
2886
2884
  Object.keys(this._latestCallIdOfNotification).forEach((key) => {
2887
2885
  if (this._latestCallIdOfNotification[key] === oldCallId) {
@@ -3299,15 +3297,6 @@ let CallContext$2 = class CallContext {
3299
3297
  });
3300
3298
  }
3301
3299
  /* @conditional-compile-remove(breakout-rooms) */
3302
- setBreakoutRoomOriginCallId(callId, breakoutRoomCallId) {
3303
- this.modifyState((draft) => {
3304
- const call = draft.calls[this._callIdHistory.latestCallId(breakoutRoomCallId)];
3305
- if (call) {
3306
- call.breakoutRooms = Object.assign(Object.assign({}, call.breakoutRooms), { breakoutRoomOriginCallId: callId });
3307
- }
3308
- });
3309
- }
3310
- /* @conditional-compile-remove(breakout-rooms) */
3311
3300
  setBreakoutRoomSettings(callId, breakoutRoomSettings) {
3312
3301
  this.modifyState((draft) => {
3313
3302
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -3946,10 +3935,9 @@ let CallContext$2 = class CallContext {
3946
3935
  draft.latestNotifications[notification.target] = notification;
3947
3936
  });
3948
3937
  }
3949
- deleteLatestNotification(callId, notificationTarget) {
3938
+ deleteLatestNotification(notificationTarget, callId) {
3950
3939
  const callIdOfNotification = this._latestCallIdOfNotification[notificationTarget];
3951
- // Only delete the notification if the call that pushed the notification is the same as the callId specified if it
3952
- // is provided
3940
+ // Only delete the notification if the call that pushed the notification is the same as the callId if specified
3953
3941
  if (callId && callIdOfNotification !== callId) {
3954
3942
  return;
3955
3943
  }
@@ -5243,7 +5231,7 @@ class CapabilitiesSubscriber {
5243
5231
  this._capabilitiesInitialized) {
5244
5232
  const capabilityTurnVideoOnAbsent = this._context.getState().latestNotifications.capabilityTurnVideoOnAbsent;
5245
5233
  if (capabilityTurnVideoOnAbsent) {
5246
- this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityTurnVideoOnAbsent');
5234
+ this._context.deleteLatestNotification('capabilityTurnVideoOnAbsent', this._callIdRef.callId);
5247
5235
  }
5248
5236
  const capabilityTurnVideoOnPresent = this._context.getState().latestNotifications.capabilityTurnVideoOnPresent;
5249
5237
  if (!capabilityTurnVideoOnPresent) {
@@ -5256,7 +5244,7 @@ class CapabilitiesSubscriber {
5256
5244
  if (((_e = data.newValue.turnVideoOn) === null || _e === undefined ? undefined : _e.isPresent) === false) {
5257
5245
  const capabilityTurnVideoOnPresent = this._context.getState().latestNotifications.capabilityTurnVideoOnPresent;
5258
5246
  if (capabilityTurnVideoOnPresent) {
5259
- this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityTurnVideoOnPresent');
5247
+ this._context.deleteLatestNotification('capabilityTurnVideoOnPresent', this._callIdRef.callId);
5260
5248
  }
5261
5249
  const capabilityTurnVideoOnAbsent = this._context.getState().latestNotifications.capabilityTurnVideoOnAbsent;
5262
5250
  if (!capabilityTurnVideoOnAbsent) {
@@ -5273,7 +5261,7 @@ class CapabilitiesSubscriber {
5273
5261
  this._capabilitiesInitialized) {
5274
5262
  const capabilityUnmuteMicAbsent = this._context.getState().latestNotifications.capabilityUnmuteMicAbsent;
5275
5263
  if (capabilityUnmuteMicAbsent) {
5276
- this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityUnmuteMicAbsent');
5264
+ this._context.deleteLatestNotification('capabilityUnmuteMicAbsent', this._callIdRef.callId);
5277
5265
  }
5278
5266
  const capabilityUnmuteMicPresent = this._context.getState().latestNotifications.capabilityUnmuteMicPresent;
5279
5267
  if (!capabilityUnmuteMicPresent) {
@@ -5286,7 +5274,7 @@ class CapabilitiesSubscriber {
5286
5274
  if (((_k = data.newValue.unmuteMic) === null || _k === undefined ? undefined : _k.isPresent) === false) {
5287
5275
  const capabilityUnmuteMicPresent = this._context.getState().latestNotifications.capabilityUnmuteMicPresent;
5288
5276
  if (capabilityUnmuteMicPresent) {
5289
- this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityUnmuteMicPresent');
5277
+ this._context.deleteLatestNotification('capabilityUnmuteMicPresent', this._callIdRef.callId);
5290
5278
  }
5291
5279
  const capabilityUnmuteMicAbsent = this._context.getState().latestNotifications.capabilityUnmuteMicAbsent;
5292
5280
  if (!capabilityUnmuteMicAbsent) {
@@ -5406,9 +5394,9 @@ class BreakoutRoomsSubscriber {
5406
5394
  this.unsubscribe = () => {
5407
5395
  this._breakoutRoomsFeature.off('breakoutRoomsUpdated', this.onBreakoutRoomsUpdated);
5408
5396
  // Clear breakout room joined notification for this call.
5409
- this._context.deleteLatestNotification(this._callIdRef.callId, 'breakoutRoomJoined');
5397
+ this._context.deleteLatestNotification('breakoutRoomJoined', this._callIdRef.callId);
5410
5398
  // Clear breakout room closing soon notification for this call.
5411
- this._context.deleteLatestNotification(this._callIdRef.callId, 'breakoutRoomClosingSoon');
5399
+ this._context.deleteLatestNotification('breakoutRoomClosingSoon', this._callIdRef.callId);
5412
5400
  clearTimeout(this._breakoutRoomClosingSoonTimeoutId);
5413
5401
  };
5414
5402
  this.onBreakoutRoomsUpdated = (eventData) => {
@@ -5434,8 +5422,8 @@ class BreakoutRoomsSubscriber {
5434
5422
  if (!breakoutRoom) {
5435
5423
  // This scenario covers the case where the user is unassigned from a breakout room.
5436
5424
  if ((_b = currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.call) === null || _b === undefined ? undefined : _b.id) {
5437
- this._context.deleteLatestNotification(currentAssignedBreakoutRoom.call.id, 'breakoutRoomJoined');
5438
- this._context.deleteLatestNotification(currentAssignedBreakoutRoom.call.id, 'breakoutRoomClosingSoon');
5425
+ this._context.deleteLatestNotification('breakoutRoomJoined', currentAssignedBreakoutRoom.call.id);
5426
+ this._context.deleteLatestNotification('breakoutRoomClosingSoon', currentAssignedBreakoutRoom.call.id);
5439
5427
  clearTimeout(this._breakoutRoomClosingSoonTimeoutId);
5440
5428
  }
5441
5429
  this._context.setAssignedBreakoutRoom(this._callIdRef.callId, breakoutRoom);
@@ -5461,18 +5449,18 @@ class BreakoutRoomsSubscriber {
5461
5449
  }
5462
5450
  else if (breakoutRoom.state === 'closed' && (currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.state) === 'open') {
5463
5451
  // This scenario covers the case where the breakout room is opened but then closed before the user joins.
5464
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpened');
5465
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpenedPromptJoin');
5466
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomChanged');
5467
- this._context.deleteLatestNotification(this._callIdRef.callId, 'breakoutRoomJoined');
5452
+ this._context.deleteLatestNotification('assignedBreakoutRoomOpened', this._callIdRef.callId);
5453
+ this._context.deleteLatestNotification('assignedBreakoutRoomOpenedPromptJoin', this._callIdRef.callId);
5454
+ this._context.deleteLatestNotification('assignedBreakoutRoomChanged', this._callIdRef.callId);
5455
+ this._context.deleteLatestNotification('breakoutRoomJoined', this._callIdRef.callId);
5468
5456
  }
5469
5457
  else if (breakoutRoom.state === 'closed') {
5470
5458
  // This scenario covers the case where the breakout room is closed
5471
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpened');
5472
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpenedPromptJoin');
5473
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomChanged');
5474
- this._context.deleteLatestNotification(this._callIdRef.callId, 'breakoutRoomJoined');
5475
- this._context.deleteLatestNotification(this._callIdRef.callId, 'breakoutRoomClosingSoon');
5459
+ this._context.deleteLatestNotification('assignedBreakoutRoomOpened', this._callIdRef.callId);
5460
+ this._context.deleteLatestNotification('assignedBreakoutRoomOpenedPromptJoin', this._callIdRef.callId);
5461
+ this._context.deleteLatestNotification('assignedBreakoutRoomChanged', this._callIdRef.callId);
5462
+ this._context.deleteLatestNotification('breakoutRoomJoined', this._callIdRef.callId);
5463
+ this._context.deleteLatestNotification('breakoutRoomClosingSoon', this._callIdRef.callId);
5476
5464
  clearTimeout(this._breakoutRoomClosingSoonTimeoutId);
5477
5465
  const openBreakoutRoomId = this._context.getOpenBreakoutRoom();
5478
5466
  if (openBreakoutRoomId && this._context.getState().calls[openBreakoutRoomId]) {
@@ -5488,10 +5476,9 @@ class BreakoutRoomsSubscriber {
5488
5476
  };
5489
5477
  this.onBreakoutRoomsJoined = (call) => {
5490
5478
  var _a, _b, _c;
5491
- this._context.setBreakoutRoomOriginCallId(this._callIdRef.callId, call.id);
5492
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpened');
5493
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpenedPromptJoin');
5494
- this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomChanged');
5479
+ this._context.deleteLatestNotification('assignedBreakoutRoomOpened', this._callIdRef.callId);
5480
+ this._context.deleteLatestNotification('assignedBreakoutRoomOpenedPromptJoin', this._callIdRef.callId);
5481
+ this._context.deleteLatestNotification('assignedBreakoutRoomChanged', this._callIdRef.callId);
5495
5482
  // Send latest notification for breakoutRoomJoined on behalf of the call that was joined.
5496
5483
  this._context.setLatestNotification(call.id, {
5497
5484
  target: 'breakoutRoomJoined',
@@ -5894,8 +5881,9 @@ class CallSubscriber {
5894
5881
  this._localVideoStreamVideoEffectsSubscribers = new Map();
5895
5882
  this._capabilitiesSubscriber = new CapabilitiesSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Capabilities));
5896
5883
  this._spotlightSubscriber = new SpotlightSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Spotlight));
5884
+ /* @conditional-compile-remove(breakout-rooms) */
5897
5885
  // Clear assigned breakout room closed notification for this call.
5898
- this._context.deleteLatestNotification(undefined, 'assignedBreakoutRoomClosed');
5886
+ this._context.deleteLatestNotification('assignedBreakoutRoomClosed');
5899
5887
  /* @conditional-compile-remove(breakout-rooms) */
5900
5888
  this._breakoutRoomsSubscriber = new BreakoutRoomsSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.BreakoutRooms));
5901
5889
  /* @conditional-compile-remove(together-mode) */
@@ -16438,7 +16426,7 @@ class _ErrorBoundary extends React.Component {
16438
16426
  // Copyright (c) Microsoft Corporation.
16439
16427
  // Licensed under the MIT License.
16440
16428
  /* @conditional-compile-remove(rich-text-editor) */
16441
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js'); }));
16429
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-ivLuM0hU.js'); }));
16442
16430
  /**
16443
16431
  * @private
16444
16432
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -16446,7 +16434,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
16446
16434
  *
16447
16435
  * @conditional-compile-remove(rich-text-editor)
16448
16436
  */
16449
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js'); });
16437
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-ivLuM0hU.js'); });
16450
16438
  /**
16451
16439
  * @private
16452
16440
  */
@@ -17700,7 +17688,6 @@ const ParticipantItem = (props) => {
17700
17688
  const participantItemId = reactHooks.useId();
17701
17689
  const participantItemFlyoutId = reactHooks.useId();
17702
17690
  const hasFlyout = !!(menuItems && (menuItems === null || menuItems === undefined ? undefined : menuItems.length) > 0);
17703
- const flyoutShowing = hasFlyout && menuHidden;
17704
17691
  const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
17705
17692
  const participantStateString = formatParticipantStateString(props, strings);
17706
17693
  const showMenuIcon = !participantStateString && (itemHovered || !menuHidden) && hasFlyout;
@@ -17725,9 +17712,15 @@ const ParticipantItem = (props) => {
17725
17712
  setItemHovered(false);
17726
17713
  setMenuHidden(true);
17727
17714
  };
17728
- const menuButton = React.useMemo(() => (React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: react.mergeStyles(menuButtonContainerStyle, { color: theme.palette.neutralPrimary }), title: strings.menuTitle, "data-ui-id": ids.participantItemMenuButton },
17729
- React.createElement(react.Icon, { iconName: "ParticipantItemOptionsHovered", className: react.mergeStyles(iconStyles$3, !showMenuIcon ? displayNoneStyle : {}) }))), [theme.palette.neutralPrimary, strings.menuTitle, ids.participantItemMenuButton, showMenuIcon]);
17730
- return (React.createElement("div", { ref: containerRef, role: 'menuitem', id: participantItemId, "aria-label": (_b = (hasFlyout ? (_a = props.strings) === null || _a === undefined ? undefined : _a.participantItemWithMoreOptionsAriaLabel : undefined)) !== null && _b !== undefined ? _b : (_c = props.strings) === null || _c === undefined ? undefined : _c.participantItemAriaLabel, "aria-labelledby": `${props.ariaLabelledBy} ${participantItemId}`, "aria-expanded": flyoutShowing, "aria-disabled": hasFlyout || props.onClick ? false : true, "aria-haspopup": hasFlyout ? true : undefined, "aria-controls": participantItemFlyoutId, "data-is-focusable": hasFlyout, "data-ui-id": "participant-item", className: react.mergeStyles(participantItemContainerStyle({ clickable: hasFlyout }, theme), styles === null || styles === undefined ? undefined : styles.root), onMouseEnter: () => setItemHovered(true), onMouseLeave: () => setItemHovered(false), onClick: () => {
17715
+ const menuButton = React.useMemo(() => (React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: react.mergeStyles(menuButtonContainerStyle, { color: theme.palette.neutralPrimary }), title: strings.menuTitle, "aria-controls": participantItemFlyoutId, "data-ui-id": ids.participantItemMenuButton },
17716
+ React.createElement(react.Icon, { iconName: "ParticipantItemOptionsHovered", className: react.mergeStyles(iconStyles$3, !showMenuIcon ? displayNoneStyle : {}) }))), [
17717
+ theme.palette.neutralPrimary,
17718
+ strings.menuTitle,
17719
+ participantItemFlyoutId,
17720
+ ids.participantItemMenuButton,
17721
+ showMenuIcon
17722
+ ]);
17723
+ return (React.createElement("div", { ref: containerRef, role: 'menuitem', id: participantItemId, "aria-label": (_b = (hasFlyout ? (_a = props.strings) === null || _a === undefined ? undefined : _a.participantItemWithMoreOptionsAriaLabel : undefined)) !== null && _b !== undefined ? _b : (_c = props.strings) === null || _c === undefined ? undefined : _c.participantItemAriaLabel, "aria-labelledby": `${props.ariaLabelledBy} ${participantItemId}`, "aria-expanded": menuHidden ? false : true, "aria-disabled": hasFlyout || props.onClick ? false : true, "aria-haspopup": hasFlyout ? true : undefined, "aria-controls": participantItemFlyoutId, "data-is-focusable": hasFlyout, "data-ui-id": "participant-item", className: react.mergeStyles(participantItemContainerStyle({ clickable: hasFlyout }, theme), styles === null || styles === undefined ? undefined : styles.root), onMouseEnter: () => setItemHovered(true), onMouseLeave: () => setItemHovered(false), onClick: () => {
17731
17724
  if (!participantStateString) {
17732
17725
  setItemHovered(true);
17733
17726
  setMenuHidden(false);
@@ -17736,6 +17729,10 @@ const ParticipantItem = (props) => {
17736
17729
  if (!menuHidden) {
17737
17730
  onDismissMenu();
17738
17731
  }
17732
+ }, onKeyDown: (event) => {
17733
+ if (event.key === 'Enter' || event.key === ' ') {
17734
+ setMenuHidden(false);
17735
+ }
17739
17736
  }, tabIndex: hasFlyout ? 0 : undefined },
17740
17737
  React.createElement(react.Stack, { horizontal: true, className: react.mergeStyles({
17741
17738
  flexGrow: 1,
@@ -25885,10 +25882,24 @@ const rttContainerClassName = (theme, isTyping) => {
25885
25882
  */
25886
25883
  const rttDisclosureBannerClassName = () => {
25887
25884
  return react.mergeStyles({
25885
+ padding: '0.25rem',
25888
25886
  paddingTop: '0.5rem'
25889
25887
  });
25890
25888
  };
25891
25889
  /* @conditional-compile-remove(rtt) */
25890
+ /**
25891
+ * @private
25892
+ */
25893
+ const realTimeTextInputBoxStyles = (theme) => ({
25894
+ root: {
25895
+ marginBottom: _pxToRem(8)
25896
+ },
25897
+ fieldGroup: {
25898
+ borderRadius: _pxToRem(4),
25899
+ borderColor: theme.palette.neutralQuaternaryAlt
25900
+ }
25901
+ });
25902
+ /* @conditional-compile-remove(rtt) */
25892
25903
  /**
25893
25904
  * @private
25894
25905
  */
@@ -26459,7 +26470,7 @@ const CaptionsBanner = (props) => {
26459
26470
  /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && (React.createElement(react.Stack, { className: rttDisclosureBannerClassName() },
26460
26471
  React.createElement(_RTTDisclosureBanner, { strings: realTimeTextDisclosureBannerStrings }))),
26461
26472
  captionsTrampoline())),
26462
- /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && onSendRealTimeText && (React.createElement(react.TextField, { placeholder: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
26473
+ /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && onSendRealTimeText && (React.createElement(react.TextField, { styles: realTimeTextInputBoxStyles(theme), placeholder: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
26463
26474
  setTextFieldValue(newValue || '');
26464
26475
  onSendRealTimeText(newValue || '', false);
26465
26476
  }, maxLength: 2000, errorMessage: textFieldValue.length >= 2000 ? strings.realTimeTextInputErrorMessage : undefined })),
@@ -31062,7 +31073,7 @@ const isChatError = (e) => {
31062
31073
  return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
31063
31074
  };
31064
31075
 
31065
- var call$n={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",videoEffectsPaneAriaLabel:"Video effects pane",configurationPageCameraIsLoadingLabel:"Video is loading...",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this language.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",realTimeTextLabel:"Real-time text (RTT)",startRealTimeTextLabel:"Turn on RTT for this call",disabledStartRealTimeTextLabel:"RTT is currently turned on, it cannot be turned off",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real-time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",moreButtonTogetherModeLayoutLabel:"Together mode",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel",closeSpotlightPromptButtonLabel:"Close"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin for me",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin",forbidAudioMenuLabel:"Disable mic",permitAudioMenuLabel:"Allow mic",forbidOthersAudioDialogTitle:"Disable mic for attendees?",forbidOthersAudioDialogContent:"Attendees won’t be able to unmute themselves. The organizer and presenters can let people unmute as needed.",forbidOthersAudioConfirmButtonLabel:"Disable mics",forbidOthersAudioCancelButtonLabel:"Cancel",permitOthersAudioDialogTitle:"Allow mic for attendees?",permitOthersAudioDialogContent:"Everyone in the meeting will be able to unmute themselves.",permitOthersAudioConfirmButtonLabel:"Allow mics",permitOthersAudioCancelButtonLabel:"Cancel",forbidOthersAudioMenuLabel:"Disable mic for attendees",permitOthersAudioMenuLabel:"Allow mic for attendees",forbidVideoMenuLabel:"Disable camera",permitVideoMenuLabel:"Allow camera",forbidOthersVideoDialogTitle:"Disable camera for attendees?",forbidOthersVideoDialogContent:"Attendees won’t be able to turn on video themselves. The organizer and presenters can let people turn on camera as needed.",forbidOthersVideoConfirmButtonLabel:"Disable cameras",forbidOthersVideoCancelButtonLabel:"Cancel",permitOthersVideoDialogTitle:"Allow camera for attendees?",permitOthersVideoDialogContent:"Everyone in the meeting will be able to turn on video themselves.",permitOthersVideoConfirmButtonLabel:"Allow cameras",permitOthersVideoCancelButtonLabel:"Cancel",forbidOthersVideoMenuLabel:"Disable camera for attendees",permitOthersVideoMenuLabel:"Allow camera for attendees"};var chat$n={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$n={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading..."};var en_US = {call:call$n,chat:chat$n,callWithChat:callWithChat$n};
31076
+ var call$n={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",videoEffectsPaneAriaLabel:"Video effects pane",configurationPageCameraIsLoadingLabel:"Video is loading...",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this language.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",realTimeTextLabel:"Real-time text (RTT)",startRealTimeTextLabel:"Turn on RTT for this call",disabledStartRealTimeTextLabel:"RTT is currently turned on, it cannot be turned off",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real-time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",moreButtonTogetherModeLayoutLabel:"Together mode",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel",closeSpotlightPromptButtonLabel:"Close"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin for me",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin",forbidAudioMenuLabel:"Disable mic",permitAudioMenuLabel:"Allow mic",forbidOthersAudioDialogTitle:"Disable mic for attendees?",forbidOthersAudioDialogContent:"Attendees won’t be able to unmute themselves. The organizer and presenters can let people unmute as needed.",forbidOthersAudioConfirmButtonLabel:"Disable mics",forbidOthersAudioCancelButtonLabel:"Cancel",permitOthersAudioDialogTitle:"Allow mic for attendees?",permitOthersAudioDialogContent:"Everyone in the meeting will be able to unmute themselves.",permitOthersAudioConfirmButtonLabel:"Allow mics",permitOthersAudioCancelButtonLabel:"Cancel",forbidOthersAudioMenuLabel:"Disable mic for attendees",permitOthersAudioMenuLabel:"Allow mic for attendees",forbidVideoMenuLabel:"Disable camera",permitVideoMenuLabel:"Allow camera",forbidOthersVideoDialogTitle:"Disable camera for attendees?",forbidOthersVideoDialogContent:"Attendees won’t be able to turn on video themselves. The organizer and presenters can let people turn on camera as needed.",forbidOthersVideoConfirmButtonLabel:"Disable cameras",forbidOthersVideoCancelButtonLabel:"Cancel",permitOthersVideoDialogTitle:"Allow camera for attendees?",permitOthersVideoDialogContent:"Everyone in the meeting will be able to turn on video themselves.",permitOthersVideoConfirmButtonLabel:"Allow cameras",permitOthersVideoCancelButtonLabel:"Cancel",forbidOthersVideoMenuLabel:"Disable camera for attendees",permitOthersVideoMenuLabel:"Allow camera for attendees"};var chat$n={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$n={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading chat"};var en_US = {call:call$n,chat:chat$n,callWithChat:callWithChat$n};
31066
31077
 
31067
31078
  // Copyright (c) Microsoft Corporation.
31068
31079
  // Licensed under the MIT License.
@@ -32002,7 +32013,7 @@ const AttachmentDownloadErrorBar = (props) => {
32002
32013
  /**
32003
32014
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
32004
32015
  */
32005
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DDAUr3rm.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
32016
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-2SdAfbKN.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
32006
32017
  /**
32007
32018
  * @private
32008
32019
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -32010,7 +32021,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
32010
32021
  *
32011
32022
  /* @conditional-compile-remove(rich-text-editor-composite-support)
32012
32023
  */
32013
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DDAUr3rm.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
32024
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-2SdAfbKN.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
32014
32025
  /**
32015
32026
  * @private
32016
32027
  */
@@ -34267,7 +34278,7 @@ const CaptionsBannerMoreButton = (props) => {
34267
34278
 
34268
34279
  // Copyright (c) Microsoft Corporation.
34269
34280
  // Licensed under the MIT License.
34270
- const mobileViewBannerWidth = '90%';
34281
+ const mobileViewBannerWidth = '95%';
34271
34282
  /** @private */
34272
34283
  const CallingCaptionsBanner = (props) => {
34273
34284
  var _a;
@@ -35142,7 +35153,6 @@ const PeopleButton = (props) => {
35142
35153
  var _a;
35143
35154
  onClick === null || onClick === undefined ? undefined : onClick(event);
35144
35155
  if (chatButtonPresent) {
35145
- console.log(peoplePaneDismissButtonRef);
35146
35156
  (_a = peoplePaneDismissButtonRef === null || peoplePaneDismissButtonRef === undefined ? undefined : peoplePaneDismissButtonRef.current) === null || _a === undefined ? undefined : _a.focus();
35147
35157
  event.preventDefault();
35148
35158
  }
@@ -36591,7 +36601,7 @@ const inferCallWithChatControlOptions = (callWithChatControls) => {
36591
36601
  };
36592
36602
  /** @private */
36593
36603
  const MoreDrawer = (props) => {
36594
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
36604
+ var _a, _b, _c, _d, _e, _f, _g, _h;
36595
36605
  const theme = react.useTheme();
36596
36606
  const callAdapter = useAdapter();
36597
36607
  const drawerMenuItems = [];
@@ -36631,8 +36641,8 @@ const MoreDrawer = (props) => {
36631
36641
  drawerMenuItems.push({
36632
36642
  itemKey: 'reactions',
36633
36643
  onRendererContent: () => (React.createElement(_ReactionDrawerMenuItem, { onReactionClick: (reaction) => __awaiter$j(undefined, undefined, undefined, function* () {
36634
- var _k;
36635
- (_k = props.onReactionClick) === null || _k === undefined ? undefined : _k.call(props, reaction);
36644
+ var _j;
36645
+ (_j = props.onReactionClick) === null || _j === undefined ? undefined : _j.call(props, reaction);
36636
36646
  onLightDismiss();
36637
36647
  }), reactionResources: props.reactionResources }))
36638
36648
  });
@@ -36868,8 +36878,12 @@ const MoreDrawer = (props) => {
36868
36878
  const startCaptionsButtonProps = usePropsFor$1(StartCaptionsButton);
36869
36879
  const [isSpokenLanguageDrawerOpen, setIsSpokenLanguageDrawerOpen] = React.useState(false);
36870
36880
  const [isCaptionLanguageDrawerOpen, setIsCaptionLanguageDrawerOpen] = React.useState(false);
36871
- const [currentSpokenLanguage, setCurrentSpokenLanguage] = React.useState((_h = captionSettingsProp.currentSpokenLanguage) !== null && _h !== undefined ? _h : 'en-us');
36872
- const [currentCaptionLanguage, setCurrentCaptionLanguage] = React.useState((_j = captionSettingsProp.currentCaptionLanguage) !== null && _j !== undefined ? _j : _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
36881
+ // we don't display the setting modal to set the spoken language on mobile
36882
+ // so when spoken language is empty (not set), we default to 'en-us'
36883
+ const [currentSpokenLanguage, setCurrentSpokenLanguage] = React.useState(captionSettingsProp.currentSpokenLanguage && captionSettingsProp.currentSpokenLanguage !== ''
36884
+ ? captionSettingsProp.currentSpokenLanguage
36885
+ : 'en-us');
36886
+ const [currentCaptionLanguage, setCurrentCaptionLanguage] = React.useState((_h = captionSettingsProp.currentCaptionLanguage) !== null && _h !== undefined ? _h : _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
36873
36887
  const onToggleChange = React.useCallback(() => __awaiter$j(undefined, undefined, undefined, function* () {
36874
36888
  if (!captionSettingsProp.isCaptionsFeatureActive) {
36875
36889
  yield startCaptionsButtonProps.onStartCaptions({
@@ -37825,6 +37839,7 @@ const createDefaultContextualMenuItems = (participant, strings, onRemoveParticip
37825
37839
  menuItems.push({
37826
37840
  key: 'remove',
37827
37841
  text: strings.removeMenuLabel,
37842
+ role: 'menuitem',
37828
37843
  onClick: () => {
37829
37844
  if (participant === null || participant === undefined ? undefined : participant.userId) {
37830
37845
  onRemoveParticipant === null || onRemoveParticipant === undefined ? undefined : onRemoveParticipant(participant === null || participant === undefined ? undefined : participant.userId);
@@ -38060,6 +38075,7 @@ const usePeoplePane = (props) => {
38060
38075
  _defaultMenuItems.push({
38061
38076
  key: 'mute',
38062
38077
  text: 'Mute',
38078
+ role: 'menuitem',
38063
38079
  iconProps: {
38064
38080
  iconName: 'ContextualMenuMicMutedIcon',
38065
38081
  styles: { root: { lineHeight: 0 } }
@@ -38080,6 +38096,7 @@ const usePeoplePane = (props) => {
38080
38096
  _defaultMenuItems.push({
38081
38097
  key: 'permit-audio',
38082
38098
  text: localeStrings.permitAudioMenuLabel,
38099
+ role: 'menuitem',
38083
38100
  iconProps: {
38084
38101
  iconName: 'ControlButtonMicOn',
38085
38102
  styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
@@ -38095,6 +38112,7 @@ const usePeoplePane = (props) => {
38095
38112
  _defaultMenuItems.push({
38096
38113
  key: 'forbid-audio',
38097
38114
  text: localeStrings.forbidAudioMenuLabel,
38115
+ role: 'menuitem',
38098
38116
  iconProps: {
38099
38117
  iconName: 'ControlButtonMicProhibited',
38100
38118
  styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
@@ -38113,6 +38131,7 @@ const usePeoplePane = (props) => {
38113
38131
  _defaultMenuItems.push({
38114
38132
  key: 'permit-video',
38115
38133
  text: localeStrings.permitVideoMenuLabel,
38134
+ role: 'menuitem',
38116
38135
  iconProps: {
38117
38136
  iconName: 'ControlButtonCameraOn',
38118
38137
  styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
@@ -38128,6 +38147,7 @@ const usePeoplePane = (props) => {
38128
38147
  _defaultMenuItems.push({
38129
38148
  key: 'forbid-video',
38130
38149
  text: localeStrings.forbidVideoMenuLabel,
38150
+ role: 'menuitem',
38131
38151
  iconProps: {
38132
38152
  iconName: 'ControlButtonCameraProhibitedSmall',
38133
38153
  styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
@@ -38154,6 +38174,7 @@ const usePeoplePane = (props) => {
38154
38174
  _defaultMenuItems.push({
38155
38175
  key: 'stop-spotlight',
38156
38176
  text: stopSpotlightMenuText,
38177
+ role: 'menuitem',
38157
38178
  onClick: onStopSpotlight,
38158
38179
  iconProps: {
38159
38180
  iconName: 'StopSpotlightContextualMenuItem',
@@ -38183,6 +38204,7 @@ const usePeoplePane = (props) => {
38183
38204
  _defaultMenuItems.push({
38184
38205
  key: 'start-spotlight',
38185
38206
  text: startSpotlightMenuText,
38207
+ role: 'menuitem',
38186
38208
  onClick: onStartSpotlight,
38187
38209
  iconProps: {
38188
38210
  iconName: 'StartSpotlightContextualMenuItem',
@@ -38199,6 +38221,7 @@ const usePeoplePane = (props) => {
38199
38221
  _defaultMenuItems.push({
38200
38222
  key: 'unpin',
38201
38223
  text: localeStrings === null || localeStrings === undefined ? undefined : localeStrings.unpinParticipantMenuLabel,
38224
+ role: 'menuitem',
38202
38225
  iconProps: {
38203
38226
  iconName: 'UnpinParticipant',
38204
38227
  styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
@@ -38216,6 +38239,7 @@ const usePeoplePane = (props) => {
38216
38239
  text: disablePinMenuItem
38217
38240
  ? localeStrings.pinParticipantLimitReachedMenuLabel
38218
38241
  : localeStrings.pinParticipantMenuLabel,
38242
+ role: 'menuitem',
38219
38243
  iconProps: {
38220
38244
  iconName: 'PinParticipant',
38221
38245
  styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
@@ -42472,7 +42496,7 @@ const isShowing = (overrideSidePane) => {
42472
42496
  return !!(overrideSidePane === null || overrideSidePane === undefined ? undefined : overrideSidePane.isActive);
42473
42497
  };
42474
42498
  const MainScreen = (props) => {
42475
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
42499
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
42476
42500
  const adapter = useAdapter();
42477
42501
  const { camerasCount, microphonesCount } = useSelector$1(deviceCountSelector);
42478
42502
  const hasCameras = camerasCount > 0;
@@ -42667,13 +42691,16 @@ const MainScreen = (props) => {
42667
42691
  pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
42668
42692
  break;
42669
42693
  case 'call':
42670
- case 'returningFromBreakoutRoom':
42671
42694
  pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_r = props.options) === null || _r === undefined ? undefined : _r.disableAutoShowDtmfDialer }));
42672
42695
  break;
42673
42696
  case 'hold':
42674
42697
  pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
42675
42698
  break;
42676
42699
  }
42700
+ /* @conditional-compile-remove(breakout-rooms) */
42701
+ if (page === 'returningFromBreakoutRoom') {
42702
+ pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_s = props.options) === null || _s === undefined ? undefined : _s.disableAutoShowDtmfDialer }));
42703
+ }
42677
42704
  useEndedCallConsoleErrors(endedCall);
42678
42705
  /* @conditional-compile-remove(unsupported-browser) */
42679
42706
  const environmentInfo = useSelector$1(getEnvironmentInfo);
@@ -42682,7 +42709,7 @@ const MainScreen = (props) => {
42682
42709
  case 'unsupportedEnvironment':
42683
42710
  pageElement = (React.createElement(React.Fragment, null,
42684
42711
  /* @conditional-compile-remove(unsupported-browser) */
42685
- React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_s = props.options) === null || _s === undefined ? undefined : _s.onEnvironmentInfoTroubleshootingClick, environmentInfo: environmentInfo })));
42712
+ React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_t = props.options) === null || _t === undefined ? undefined : _t.onEnvironmentInfoTroubleshootingClick, environmentInfo: environmentInfo })));
42686
42713
  break;
42687
42714
  }
42688
42715
  if (!pageElement) {
@@ -45409,7 +45436,9 @@ const CallWithChatScreen = (props) => {
45409
45436
  ]);
45410
45437
  let chatPaneTitle = callWithChatStrings.chatPaneTitle;
45411
45438
  /* @conditional-compile-remove(breakout-rooms) */
45412
- if ((_b = (_a = callAdapter.getState().call) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomOriginCallId) {
45439
+ // If breakout room settings are defined then we know we are in a breakout room so we should
45440
+ // use the breakout room chat pane title.
45441
+ if ((_b = (_a = callAdapter.getState().call) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomSettings) {
45413
45442
  chatPaneTitle = callWithChatStrings.breakoutRoomChatPaneTitle;
45414
45443
  }
45415
45444
  const sidePaneHeaderRenderer = React.useCallback(() => {
@@ -46196,8 +46225,10 @@ class AzureCommunicationCallWithChatAdapter {
46196
46225
  (_b = this.breakoutRoomChatAdapter) === null || _b === undefined ? undefined : _b.dispose();
46197
46226
  this.updateChatAdapter(this.originCallChatAdapter);
46198
46227
  }
46199
- const originCallId = (_d = (_c = this.callAdapter.getState().call) === null || _c === undefined ? undefined : _c.breakoutRooms) === null || _d === undefined ? undefined : _d.breakoutRoomOriginCallId;
46200
- if (originCallId) {
46228
+ // Check if breakout room settings are defined to verify the user is in a breakout room before
46229
+ // returning to the origin call.
46230
+ const breakoutRoomSettings = (_d = (_c = this.context.getState().call) === null || _c === undefined ? undefined : _c.breakoutRooms) === null || _d === undefined ? undefined : _d.breakoutRoomSettings;
46231
+ if (breakoutRoomSettings) {
46201
46232
  yield this.callAdapter.returnFromBreakoutRoom();
46202
46233
  }
46203
46234
  });
@@ -47444,4 +47475,4 @@ exports.useTeamsCall = useTeamsCall;
47444
47475
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
47445
47476
  exports.useTeamsCallAgent = useTeamsCallAgent;
47446
47477
  exports.useTheme = useTheme;
47447
- //# sourceMappingURL=index-DHKLzBam.js.map
47478
+ //# sourceMappingURL=index-Cj-dtYLo.js.map