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

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 (59) hide show
  1. package/dist/communication-react.d.ts +13 -3
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-AkTSmAsd.js → ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-AkTSmAsd.js.map → ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-B3Xe7mdR.js → RichTextSendBoxWrapper-DDAUr3rm.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-B3Xe7mdR.js.map → RichTextSendBoxWrapper-DDAUr3rm.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-CNpitKVB.js → index-DHKLzBam.js} +184 -106
  7. package/dist/dist-cjs/communication-react/index-DHKLzBam.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/handlers/createHandlers.js +1 -12
  12. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  13. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +7 -0
  14. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  15. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +35 -22
  16. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  17. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +5 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  19. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -2
  20. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +30 -9
  21. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  22. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +2 -0
  23. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +5 -1
  25. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +2 -2
  27. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  28. package/dist/dist-esm/react-components/src/components/ReactionButton.js +2 -2
  29. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +4 -8
  31. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +10 -2
  33. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/utils.js +2 -0
  35. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +5 -0
  37. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  38. package/dist/dist-esm/react-components/src/theming/icons.js +2 -0
  39. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +1 -0
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +26 -28
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -1
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +8 -2
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +25 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +5 -6
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  53. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +17 -6
  54. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  55. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +3 -1
  56. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -0
  58. package/package.json +2 -2
  59. package/dist/dist-cjs/communication-react/index-CNpitKVB.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-202502040016';
191
+ var telemetryVersion = '1.24.0-alpha-202502060016';
192
192
 
193
193
 
194
194
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -531,7 +531,7 @@ const getLatestErrors$1 = (state) => state.latestErrors;
531
531
  /**
532
532
  * @private
533
533
  */
534
- const getLatestNotifications = (state) => state.latestNotifications;
534
+ const getLatestNotifications$1 = (state) => state.latestNotifications;
535
535
  /**
536
536
  * @private
537
537
  */
@@ -1523,14 +1523,7 @@ var __awaiter$11 = (window && window.__awaiter) || function (thisArg, _arguments
1523
1523
  * @public
1524
1524
  */
1525
1525
  const createDefaultCallingHandlers = memoizeOne((...args) => {
1526
- var _a;
1527
1526
  const [callClient, callAgent, deviceManager, call, options] = args;
1528
- /* @conditional-compile-remove(breakout-rooms) */
1529
- const callState = (call === null || call === undefined ? undefined : call.id) ? callClient.getState().calls[call === null || call === undefined ? undefined : call.id] : undefined;
1530
- /* @conditional-compile-remove(breakout-rooms) */
1531
- const breakoutRoomOriginCallId = (_a = callState === null || callState === undefined ? undefined : callState.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomOriginCallId;
1532
- /* @conditional-compile-remove(breakout-rooms) */
1533
- const breakoutRoomOriginCall = callAgent === null || callAgent === undefined ? undefined : callAgent.calls.find((call) => call.id === breakoutRoomOriginCallId);
1534
1527
  const commonCallingHandlers = createDefaultCommonCallingHandlers(callClient, deviceManager, call, options);
1535
1528
  return Object.assign(Object.assign({}, commonCallingHandlers), {
1536
1529
  // FIXME: onStartCall API should use string, not the underlying SDK types.
@@ -1558,11 +1551,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
1558
1551
  if (incomingCall) {
1559
1552
  yield incomingCall.reject();
1560
1553
  }
1561
- }),
1562
- /* @conditional-compile-remove(breakout-rooms) */
1563
- onHangUp: breakoutRoomOriginCall
1564
- ? () => __awaiter$11(undefined, undefined, undefined, function* () { return breakoutRoomOriginCall.hangUp().then(() => commonCallingHandlers.onHangUp()); })
1565
- : commonCallingHandlers.onHangUp });
1554
+ }) });
1566
1555
  });
1567
1556
 
1568
1557
  // Copyright (c) Microsoft Corporation.
@@ -1659,7 +1648,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1659
1648
  */
1660
1649
  const notificationStackSelector = reselect.createSelector([
1661
1650
  getLatestErrors$1,
1662
- getLatestNotifications,
1651
+ getLatestNotifications$1,
1663
1652
  getDiagnostics,
1664
1653
  getDeviceManager$1,
1665
1654
  getEnvironmentInfo$1,
@@ -1824,6 +1813,13 @@ const notificationStackSelector = reselect.createSelector([
1824
1813
  });
1825
1814
  }
1826
1815
  /* @conditional-compile-remove(breakout-rooms) */
1816
+ if (latestNotifications['assignedBreakoutRoomClosed']) {
1817
+ activeNotifications.push({
1818
+ type: 'assignedBreakoutRoomClosed',
1819
+ timestamp: latestNotifications['assignedBreakoutRoomClosed'].timestamp
1820
+ });
1821
+ }
1822
+ /* @conditional-compile-remove(breakout-rooms) */
1827
1823
  if (latestNotifications['breakoutRoomJoined']) {
1828
1824
  activeNotifications.push({
1829
1825
  type: 'breakoutRoomJoined',
@@ -2721,7 +2717,7 @@ let CallContext$2 = class CallContext {
2721
2717
  constructor(userId, maxListeners = 50) {
2722
2718
  this._callIdHistory = new CallIdHistory();
2723
2719
  this._timeOutId = {};
2724
- this._latestCallIdsThatPushedNotifications = {};
2720
+ this._latestCallIdOfNotification = {};
2725
2721
  /**
2726
2722
  * Tees direct errors to state.
2727
2723
  * @remarks
@@ -2885,6 +2881,18 @@ let CallContext$2 = class CallContext {
2885
2881
  ((_b = call.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomOriginCallId) === newCallId;
2886
2882
  }
2887
2883
  });
2884
+ /* @conditional-compile-remove(breakout-rooms) */
2885
+ // Update call ids in latestCallIdsThatPushedNotifications
2886
+ Object.keys(this._latestCallIdOfNotification).forEach((key) => {
2887
+ if (this._latestCallIdOfNotification[key] === oldCallId) {
2888
+ this._latestCallIdOfNotification[key] = newCallId;
2889
+ }
2890
+ });
2891
+ /* @conditional-compile-remove(breakout-rooms) */
2892
+ // Update the open breakout room call id if it matches the old call id
2893
+ if (this._openBreakoutRoom === oldCallId) {
2894
+ this._openBreakoutRoom = newCallId;
2895
+ }
2888
2896
  });
2889
2897
  }
2890
2898
  setEnvironmentInfo(envInfo) {
@@ -3317,6 +3325,18 @@ let CallContext$2 = class CallContext {
3317
3325
  }
3318
3326
  });
3319
3327
  }
3328
+ /* @conditional-compile-remove(breakout-rooms) */
3329
+ setOpenBreakoutRoom(callId) {
3330
+ this._openBreakoutRoom = callId;
3331
+ }
3332
+ /* @conditional-compile-remove(breakout-rooms) */
3333
+ deleteOpenBreakoutRoom() {
3334
+ this._openBreakoutRoom = undefined;
3335
+ }
3336
+ /* @conditional-compile-remove(breakout-rooms) */
3337
+ getOpenBreakoutRoom() {
3338
+ return this._openBreakoutRoom;
3339
+ }
3320
3340
  setCallScreenShareParticipant(callId, participantKey) {
3321
3341
  this.modifyState((draft) => {
3322
3342
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -3921,19 +3941,16 @@ let CallContext$2 = class CallContext {
3921
3941
  });
3922
3942
  }
3923
3943
  setLatestNotification(callId, notification) {
3924
- this._latestCallIdsThatPushedNotifications[notification.target] = callId;
3944
+ this._latestCallIdOfNotification[notification.target] = callId;
3925
3945
  this.modifyState((draft) => {
3926
3946
  draft.latestNotifications[notification.target] = notification;
3927
3947
  });
3928
3948
  }
3929
3949
  deleteLatestNotification(callId, notificationTarget) {
3930
- let callIdToPushLatestNotification = this._latestCallIdsThatPushedNotifications[notificationTarget];
3931
- callIdToPushLatestNotification = callIdToPushLatestNotification
3932
- ? this._callIdHistory.latestCallId(callIdToPushLatestNotification)
3933
- : undefined;
3934
- // Only delete the notification if the call that pushed the notification is the same as the call that is trying
3935
- // to delete it.
3936
- if (callIdToPushLatestNotification !== callId) {
3950
+ 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
3953
+ if (callId && callIdOfNotification !== callId) {
3937
3954
  return;
3938
3955
  }
3939
3956
  this.modifyState((draft) => {
@@ -5406,7 +5423,7 @@ class BreakoutRoomsSubscriber {
5406
5423
  }
5407
5424
  };
5408
5425
  this.onAssignedBreakoutRoomUpdated = (breakoutRoom) => {
5409
- var _a, _b, _c, _d, _e;
5426
+ var _a, _b, _c, _d;
5410
5427
  const callState = this._context.getState().calls[this._callIdRef.callId];
5411
5428
  const currentAssignedBreakoutRoom = (_a = callState === null || callState === undefined ? undefined : callState.breakoutRooms) === null || _a === undefined ? undefined : _a.assignedBreakoutRoom;
5412
5429
  // This call won't exist in the calls array in state if this call is a breakout room that was re-assigned.
@@ -5424,36 +5441,48 @@ class BreakoutRoomsSubscriber {
5424
5441
  this._context.setAssignedBreakoutRoom(this._callIdRef.callId, breakoutRoom);
5425
5442
  return;
5426
5443
  }
5444
+ // TODO: Fix the condition in this if statement to check for different breakout room ID instead of the display name
5445
+ // when Calling SDK fixes the breakout room call id to be correct
5427
5446
  if (breakoutRoom.state === 'open' &&
5428
- (currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.state) === 'open' &&
5429
- ((_c = currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.call) === null || _c === undefined ? undefined : _c.id) !== ((_d = breakoutRoom.call) === null || _d === undefined ? undefined : _d.id)) {
5430
- if (!this._context.getState().latestNotifications['assignedBreakoutRoomOpened'] &&
5431
- !this._context.getState().latestNotifications['assignedBreakoutRoomOpenedPromptJoin']) {
5432
- this._context.setLatestNotification(this._callIdRef.callId, {
5433
- target: 'assignedBreakoutRoomChanged',
5434
- timestamp: new Date(Date.now())
5435
- });
5436
- }
5447
+ ((_c = callState.breakoutRooms) === null || _c === undefined ? undefined : _c.breakoutRoomDisplayName) &&
5448
+ callState.breakoutRooms.breakoutRoomDisplayName !== breakoutRoom.displayName) {
5449
+ this._context.setLatestNotification(this._callIdRef.callId, {
5450
+ target: 'assignedBreakoutRoomChanged',
5451
+ timestamp: new Date(Date.now())
5452
+ });
5437
5453
  }
5438
- else if (breakoutRoom.state === 'open') {
5439
- if (!this._context.getState().latestNotifications['assignedBreakoutRoomChanged']) {
5440
- const target = breakoutRoom.autoMoveParticipantToBreakoutRoom === false
5441
- ? 'assignedBreakoutRoomOpenedPromptJoin'
5442
- : 'assignedBreakoutRoomOpened';
5443
- this._context.setLatestNotification(this._callIdRef.callId, { target, timestamp: new Date(Date.now()) });
5444
- }
5454
+ else if (breakoutRoom.state === 'open' &&
5455
+ !((_d = callState === null || callState === undefined ? undefined : callState.breakoutRooms) === null || _d === undefined ? undefined : _d.breakoutRoomSettings) &&
5456
+ this._context.getOpenBreakoutRoom() === undefined) {
5457
+ const target = breakoutRoom.autoMoveParticipantToBreakoutRoom === false
5458
+ ? 'assignedBreakoutRoomOpenedPromptJoin'
5459
+ : 'assignedBreakoutRoomOpened';
5460
+ this._context.setLatestNotification(this._callIdRef.callId, { target, timestamp: new Date(Date.now()) });
5445
5461
  }
5446
- else if (breakoutRoom.state === 'closed' && (currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.state) === 'closed') {
5462
+ else if (breakoutRoom.state === 'closed' && (currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.state) === 'open') {
5447
5463
  // This scenario covers the case where the breakout room is opened but then closed before the user joins.
5448
5464
  this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpened');
5449
5465
  this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomOpenedPromptJoin');
5450
5466
  this._context.deleteLatestNotification(this._callIdRef.callId, 'assignedBreakoutRoomChanged');
5467
+ this._context.deleteLatestNotification(this._callIdRef.callId, 'breakoutRoomJoined');
5451
5468
  }
5452
- else if (breakoutRoom.state === 'closed' && ((_e = currentAssignedBreakoutRoom === null || currentAssignedBreakoutRoom === undefined ? undefined : currentAssignedBreakoutRoom.call) === null || _e === undefined ? undefined : _e.id)) {
5453
- // This scenario covers the case where the breakout room is changed to a closed breakout room.
5454
- this._context.deleteLatestNotification(currentAssignedBreakoutRoom.call.id, 'breakoutRoomJoined');
5455
- this._context.deleteLatestNotification(currentAssignedBreakoutRoom.call.id, 'breakoutRoomClosingSoon');
5469
+ else if (breakoutRoom.state === 'closed') {
5470
+ // 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');
5456
5476
  clearTimeout(this._breakoutRoomClosingSoonTimeoutId);
5477
+ const openBreakoutRoomId = this._context.getOpenBreakoutRoom();
5478
+ if (openBreakoutRoomId && this._context.getState().calls[openBreakoutRoomId]) {
5479
+ // Show notification that the assigned breakout room was closed if the user is in that breakout room.
5480
+ this._context.setLatestNotification(this._callIdRef.callId, {
5481
+ target: 'assignedBreakoutRoomClosed',
5482
+ timestamp: new Date(Date.now())
5483
+ });
5484
+ }
5485
+ this._context.deleteOpenBreakoutRoom();
5457
5486
  }
5458
5487
  this._context.setAssignedBreakoutRoom(this._callIdRef.callId, breakoutRoom);
5459
5488
  };
@@ -5468,6 +5497,7 @@ class BreakoutRoomsSubscriber {
5468
5497
  target: 'breakoutRoomJoined',
5469
5498
  timestamp: new Date(Date.now())
5470
5499
  });
5500
+ this._context.setOpenBreakoutRoom(call.id);
5471
5501
  // If assigned breakout room has a display name, set the display name for its call state.
5472
5502
  const assignedBreakoutRoomDisplayName = (_c = (_b = (_a = this._context.getState().calls[this._callIdRef.callId]) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.assignedBreakoutRoom) === null || _c === undefined ? undefined : _c.displayName;
5473
5503
  if (assignedBreakoutRoomDisplayName) {
@@ -5864,6 +5894,8 @@ class CallSubscriber {
5864
5894
  this._localVideoStreamVideoEffectsSubscribers = new Map();
5865
5895
  this._capabilitiesSubscriber = new CapabilitiesSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Capabilities));
5866
5896
  this._spotlightSubscriber = new SpotlightSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Spotlight));
5897
+ // Clear assigned breakout room closed notification for this call.
5898
+ this._context.deleteLatestNotification(undefined, 'assignedBreakoutRoomClosed');
5867
5899
  /* @conditional-compile-remove(breakout-rooms) */
5868
5900
  this._breakoutRoomsSubscriber = new BreakoutRoomsSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.BreakoutRooms));
5869
5901
  /* @conditional-compile-remove(together-mode) */
@@ -7544,7 +7576,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
7544
7576
  wordBreak: 'break-word'
7545
7577
  });
7546
7578
 
7547
- var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var realTimeTextModal$n={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$n={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$n={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText$n={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton$n={label:"Turn on RTT for this call",tooltipOffContent:"Turn on RTT for this call"};var messageThread$n={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$n={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$n={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"}};var videoGallery$n={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$n={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$n={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$n={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$n={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$n={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$n={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$n={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$o={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal$n,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText$n,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton$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};
7579
+ var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var realTimeTextModal$n={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$n={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$n={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText$n={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton$n={label:"Turn on RTT for this call",tooltipOffContent:"Turn on RTT for this call"};var messageThread$n={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$n={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$n={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomClosed:{title:"Your breakout room has closed",message:"We'll move you back to your meeting in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"}};var videoGallery$n={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$n={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$n={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$n={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$n={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$n={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$n={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$n={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$o={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal$n,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText$n,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton$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};
7548
7580
 
7549
7581
  // Copyright (c) Microsoft Corporation.
7550
7582
  // Licensed under the MIT License.
@@ -8075,6 +8107,8 @@ const customNotificationIconName = {
8075
8107
  /* @conditional-compile-remove(breakout-rooms) */
8076
8108
  assignedBreakoutRoomChanged: 'NotificationBarBreakoutRoomChanged',
8077
8109
  /* @conditional-compile-remove(breakout-rooms) */
8110
+ assignedBreakoutRoomClosed: 'NotificationBarBreakoutRoomClosed',
8111
+ /* @conditional-compile-remove(breakout-rooms) */
8078
8112
  breakoutRoomJoined: 'NotificationBarBreakoutRoomJoined',
8079
8113
  /* @conditional-compile-remove(breakout-rooms) */
8080
8114
  breakoutRoomClosingSoon: 'NotificationBarBreakoutRoomClosingSoon',
@@ -8824,6 +8858,8 @@ const DEFAULT_COMPONENT_ICONS = {
8824
8858
  NotificationBarBreakoutRoomJoined: React.createElement(reactIcons.ConferenceRoom16Regular, null),
8825
8859
  /* @conditional-compile-remove(breakout-rooms) */
8826
8860
  NotificationBarBreakoutRoomClosingSoon: React.createElement(reactIcons.DoorArrowLeft16Regular, null),
8861
+ /* @conditional-compile-remove(breakout-rooms) */
8862
+ NotificationBarBreakoutRoomClosed: React.createElement(reactIcons.DoorArrowLeft16Regular, null),
8827
8863
  HorizontalGalleryLeftButton: React.createElement(GalleryLeftButton, null),
8828
8864
  HorizontalGalleryRightButton: React.createElement(GalleryRightButton, null),
8829
8865
  MessageDelivered: React.createElement(reactIcons.CheckmarkCircle16Regular, null),
@@ -13114,6 +13150,7 @@ const RichTextToolbar = (props) => {
13114
13150
  const theme = useTheme();
13115
13151
  // need to re-render the buttons when format state changes
13116
13152
  const [formatState, setFormatState] = React.useState(undefined);
13153
+ const commandBarRef = React.useRef(null);
13117
13154
  React.useEffect(() => {
13118
13155
  // update the format state on editor events
13119
13156
  plugin.onFormatChanged = setFormatState;
@@ -13295,7 +13332,14 @@ const RichTextToolbar = (props) => {
13295
13332
  }
13296
13333
  };
13297
13334
  }, [strings.richTextToolbarMoreButtonAriaLabel, theme]);
13298
- return (React.createElement(react.CommandBar, { items: buttons, "data-testid": 'rich-text-editor-toolbar', styles: richTextToolbarStyle, overflowButtonProps: overflowButtonProps, "aria-label": strings.richTextToolbarAriaLabel }));
13335
+ React.useEffect(() => {
13336
+ // delay focus to ensure the command bar is rendered
13337
+ setTimeout(() => {
13338
+ var _a;
13339
+ (_a = commandBarRef.current) === null || _a === undefined ? undefined : _a.focus();
13340
+ }, 25);
13341
+ }, []);
13342
+ return (React.createElement(react.CommandBar, { items: buttons, "data-testid": 'rich-text-editor-toolbar', styles: richTextToolbarStyle, overflowButtonProps: overflowButtonProps, componentRef: commandBarRef, "aria-label": strings.richTextToolbarAriaLabel }));
13299
13343
  };
13300
13344
  const getCommandBarItem = ({ key, icon, onClick, text, canCheck = true, checked = false, disabled = false, theme, dataTestId }) => {
13301
13345
  return {
@@ -13568,7 +13612,6 @@ const RichTextEditor = React.forwardRef((props, ref) => {
13568
13612
  onInsertInlineImage } = props;
13569
13613
  const editor = React.useRef(null);
13570
13614
  const editorDiv = React.useRef(null);
13571
- const toolbarRef = React.useRef(null);
13572
13615
  const theme = useTheme();
13573
13616
  const [contextMenuProps, setContextMenuProps] = React.useState(null);
13574
13617
  const previousThemeDirection = React.useRef(themeDirection(theme));
@@ -13587,13 +13630,10 @@ const RichTextEditor = React.forwardRef((props, ref) => {
13587
13630
  // eslint-disable-next-line react-hooks/exhaustive-deps
13588
13631
  }, []);
13589
13632
  React.useEffect(() => {
13590
- var _a, _b;
13633
+ var _a;
13591
13634
  if (editor.current) {
13592
- if (showRichTextEditorFormatting) {
13593
- (_a = toolbarRef.current) === null || _a === undefined ? undefined : _a.focus();
13594
- }
13595
- else {
13596
- (_b = editor.current) === null || _b === undefined ? undefined : _b.focus();
13635
+ if (!showRichTextEditorFormatting) {
13636
+ (_a = editor.current) === null || _a === undefined ? undefined : _a.focus();
13597
13637
  }
13598
13638
  }
13599
13639
  }, [showRichTextEditorFormatting]);
@@ -13871,7 +13911,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
13871
13911
  }
13872
13912
  }, [theme]);
13873
13913
  return (React.createElement("div", { "data-testid": 'rich-text-editor-wrapper' },
13874
- React.createElement("div", { ref: toolbarRef }, showRichTextEditorFormatting && toolbar),
13914
+ showRichTextEditorFormatting && toolbar,
13875
13915
  React.createElement("div", { className: richTextEditorWrapperStyle(theme) },
13876
13916
  React.createElement("div", { id: "richTextSendBox", ref: editorDiv, tabIndex: 0, role: "textbox", "aria-multiline": "true", "data-testid": 'rooster-rich-text-editor', className: richTextEditorStyle(props.styles), "aria-label": placeholderText })),
13877
13917
  contextMenuProps && React.createElement(react.ContextualMenu, Object.assign({}, contextMenuProps, { calloutProps: { isBeakVisible: false } }))));
@@ -16398,7 +16438,7 @@ class _ErrorBoundary extends React.Component {
16398
16438
  // Copyright (c) Microsoft Corporation.
16399
16439
  // Licensed under the MIT License.
16400
16440
  /* @conditional-compile-remove(rich-text-editor) */
16401
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-AkTSmAsd.js'); }));
16441
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js'); }));
16402
16442
  /**
16403
16443
  * @private
16404
16444
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -16406,7 +16446,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
16406
16446
  *
16407
16447
  * @conditional-compile-remove(rich-text-editor)
16408
16448
  */
16409
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-AkTSmAsd.js'); });
16449
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DZ8fenCm.js'); });
16410
16450
  /**
16411
16451
  * @private
16412
16452
  */
@@ -24467,7 +24507,7 @@ const RaiseHandButton = (props) => {
24467
24507
  const styles = raiseHandButtonStyles(theme);
24468
24508
  const onRenderRaiseHandIcon = () => (React.createElement(_HighContrastAwareIcon, { disabled: props.disabled, iconName: "ControlButtonRaiseHand" }));
24469
24509
  const onRenderLowerHandIcon = () => (React.createElement(_HighContrastAwareIcon, { disabled: props.disabled, iconName: "ControlButtonLowerHand" }));
24470
- return (React.createElement(ControlBarButton, Object.assign({}, props, { className: react.mergeStyles(styles, props.styles), onClick: (_a = props.onToggleRaiseHand) !== null && _a !== undefined ? _a : props.onClick, onRenderOnIcon: (_b = props.onRenderOnIcon) !== null && _b !== undefined ? _b : onRenderLowerHandIcon, onRenderOffIcon: (_c = props.onRenderOffIcon) !== null && _c !== undefined ? _c : onRenderRaiseHandIcon, strings: strings, labelKey: (_d = props.labelKey) !== null && _d !== undefined ? _d : 'raiseHandButtonLabel', "aria-label": props.checked ? strings.onLabel : strings.offLabel, "aria-description": props.checked ? strings.tooltipOnContent : strings.tooltipOffContent, disabled: props.disabled })));
24510
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { styles: react.concatStyleSets(styles, props.styles), onClick: (_a = props.onToggleRaiseHand) !== null && _a !== undefined ? _a : props.onClick, onRenderOnIcon: (_b = props.onRenderOnIcon) !== null && _b !== undefined ? _b : onRenderLowerHandIcon, onRenderOffIcon: (_c = props.onRenderOffIcon) !== null && _c !== undefined ? _c : onRenderRaiseHandIcon, strings: strings, labelKey: (_d = props.labelKey) !== null && _d !== undefined ? _d : 'raiseHandButtonLabel', "aria-label": props.checked ? strings.onLabel : strings.offLabel, "aria-description": props.checked ? strings.tooltipOnContent : strings.tooltipOffContent, disabled: props.disabled })));
24471
24511
  };
24472
24512
  const raiseHandButtonStyles = (theme) => ({
24473
24513
  rootChecked: {
@@ -24542,7 +24582,7 @@ const ReactionButton = (props) => {
24542
24582
  }, className: classname, styles: reactionItemButtonStyles, "aria-label": emojiButtonTooltip.get(emoji) })));
24543
24583
  }))))),
24544
24584
  React.createElement("div", { ref: reactionButtonCalloutRef },
24545
- React.createElement(ControlBarButton, Object.assign({}, props, { componentRef: reactionButtonRef, className: react.mergeStyles(styles, props.styles), onClick: () => setCalloutIsVisible(!calloutIsVisible), onRenderIcon: (_f = props.onRenderIcon) !== null && _f !== undefined ? _f : onRenderIcon, strings: strings, split: true, labelKey: (_g = props.labelKey) !== null && _g !== undefined ? _g : 'reactionButtonLabel', onRenderMenuIcon: () => React.createElement("div", null), disabled: props.disabled, ariaLabel: strings.ariaLabel })))));
24585
+ React.createElement(ControlBarButton, Object.assign({}, props, { componentRef: reactionButtonRef, styles: react.concatStyleSets(styles, props.styles), onClick: () => setCalloutIsVisible(!calloutIsVisible), onRenderIcon: (_f = props.onRenderIcon) !== null && _f !== undefined ? _f : onRenderIcon, strings: strings, split: true, labelKey: (_g = props.labelKey) !== null && _g !== undefined ? _g : 'reactionButtonLabel', onRenderMenuIcon: () => React.createElement("div", null), disabled: props.disabled, ariaLabel: strings.ariaLabel })))));
24546
24586
  };
24547
24587
 
24548
24588
  // Copyright (c) Microsoft Corporation.
@@ -31962,7 +32002,7 @@ const AttachmentDownloadErrorBar = (props) => {
31962
32002
  /**
31963
32003
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
31964
32004
  */
31965
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-B3Xe7mdR.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
32005
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DDAUr3rm.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
31966
32006
  /**
31967
32007
  * @private
31968
32008
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -31970,7 +32010,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
31970
32010
  *
31971
32011
  /* @conditional-compile-remove(rich-text-editor-composite-support)
31972
32012
  */
31973
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-B3Xe7mdR.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
32013
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DDAUr3rm.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
31974
32014
  /**
31975
32015
  * @private
31976
32016
  */
@@ -33212,8 +33252,7 @@ const getEndedCallPageProps = (locale, endedCall) => {
33212
33252
  *
33213
33253
  * @private
33214
33254
  */
33215
- const getCallCompositePage = (call, previousCall, transferCall, originCall, unsupportedBrowserInfo) => {
33216
- var _a;
33255
+ const getCallCompositePage = (call, previousCall, transferCall, isReturningFromBreakoutRoom, unsupportedBrowserInfo) => {
33217
33256
  /* @conditional-compile-remove(unsupported-browser) */
33218
33257
  if (isUnsupportedEnvironment(unsupportedBrowserInfo === null || unsupportedBrowserInfo === undefined ? undefined : unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo === null || unsupportedBrowserInfo === undefined ? undefined : unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
33219
33258
  return 'unsupportedEnvironment';
@@ -33221,6 +33260,10 @@ const getCallCompositePage = (call, previousCall, transferCall, originCall, unsu
33221
33260
  if (transferCall !== undefined) {
33222
33261
  return 'transferring';
33223
33262
  }
33263
+ /* @conditional-compile-remove(breakout-rooms) */
33264
+ if (isReturningFromBreakoutRoom) {
33265
+ return 'returningFromBreakoutRoom';
33266
+ }
33224
33267
  if (call) {
33225
33268
  // Must check for ongoing call *before* looking at any previous calls.
33226
33269
  // If the composite completes one call and joins another, the previous calls
@@ -33248,10 +33291,6 @@ const getCallCompositePage = (call, previousCall, transferCall, originCall, unsu
33248
33291
  return 'configuration';
33249
33292
  }
33250
33293
  }
33251
- // /* @conditional-compile-remove(breakout-rooms) */
33252
- if (((_a = previousCall === null || previousCall === undefined ? undefined : previousCall.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomOriginCallId) && originCall) {
33253
- return 'call';
33254
- }
33255
33294
  if (previousCall) {
33256
33295
  const reason = getCallEndReason(previousCall);
33257
33296
  switch (reason) {
@@ -33711,6 +33750,11 @@ const getBreakoutRoomSettings = (state) => { var _a, _b; return (_b = (_a = stat
33711
33750
  * @private
33712
33751
  */
33713
33752
  const getBreakoutRoomDisplayName = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomDisplayName; };
33753
+ /* @conditional-compile-remove(breakout-rooms) */
33754
+ /**
33755
+ * @private
33756
+ */
33757
+ const getLatestNotifications = (state) => state.latestNotifications;
33714
33758
  /** @private */
33715
33759
  const getVideoEffectsDependency = (state) => state.onResolveVideoEffectDependency;
33716
33760
  /** @private */
@@ -36250,7 +36294,9 @@ const CommonCallControlBar = React.forwardRef((props, commonCallControlBarRef) =
36250
36294
  !props.mobileView &&
36251
36295
  assignedBreakoutRoom &&
36252
36296
  assignedBreakoutRoom.state === 'open' &&
36253
- assignedBreakoutRoom.call && (React.createElement(react.PrimaryButton, { text: callStrings.joinBreakoutRoomButtonLabel, onClick: () => __awaiter$k(undefined, undefined, undefined, function* () {
36297
+ // Breakout room settings are only defined in a breakout room so we use this to ensure
36298
+ // the button is not shown when already in a breakout room
36299
+ !breakoutRoomSettings && (React.createElement(react.PrimaryButton, { text: callStrings.joinBreakoutRoomButtonLabel, onClick: () => __awaiter$k(undefined, undefined, undefined, function* () {
36254
36300
  assignedBreakoutRoom.join();
36255
36301
  }), styles: commonButtonStyles })),
36256
36302
  microphoneButtonIsEnabled && (React.createElement(Microphone, { displayType: options.displayType, styles: commonButtonStyles, splitButtonsForDeviceSelection: !props.mobileView, disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.microphoneButton), disableTooltip: props.mobileView, onClickNoiseSuppression: onClickNoiseSuppression, isDeepNoiseSuppressionOn: isDeepNoiseSuppressionOn, showNoiseSuppressionButton: showNoiseSuppressionButton })),
@@ -39263,7 +39309,13 @@ const BreakoutRoomsBanner = (props) => {
39263
39309
  const { locale, adapter } = props;
39264
39310
  const assignedBreakoutRoom = useSelector$1(getAssignedBreakoutRoom);
39265
39311
  const breakoutRoomSettings = useSelector$1(getBreakoutRoomSettings);
39266
- if (assignedBreakoutRoom && assignedBreakoutRoom.state === 'open' && assignedBreakoutRoom.call) {
39312
+ const latestNotifications = useSelector$1(getLatestNotifications);
39313
+ if (assignedBreakoutRoom &&
39314
+ assignedBreakoutRoom.state === 'open' &&
39315
+ // Breakout room settings are only defined in a breakout room so we use this to ensure
39316
+ // the button is not shown when already in a breakout room
39317
+ !breakoutRoomSettings &&
39318
+ !latestNotifications['assignedBreakoutRoomOpened']) {
39267
39319
  return (React.createElement(react.Stack, { styles: bannerNotificationStyles },
39268
39320
  React.createElement(Banner, { strings: {
39269
39321
  title: assignedBreakoutRoom.displayName
@@ -40109,6 +40161,22 @@ const CallPage = (props) => {
40109
40161
  const drawerMenuHostId = reactHooks.useId('drawerMenuHost');
40110
40162
  const [isPromptOpen, setIsPromptOpen] = React.useState(false);
40111
40163
  const [promptProps, setPromptProps] = React.useState();
40164
+ /* @conditional-compile-remove(breakout-rooms) */
40165
+ const page = useSelector$1((state) => state.page);
40166
+ /* @conditional-compile-remove(breakout-rooms) */
40167
+ const userId = useSelector$1((state) => state.userId);
40168
+ /* @conditional-compile-remove(breakout-rooms) */
40169
+ const displayName = useSelector$1((state) => state.displayName);
40170
+ /* @conditional-compile-remove(breakout-rooms) */
40171
+ const onRenderAvatar = React.useCallback((userId, options) => {
40172
+ return (React.createElement(react.Stack, { className: react.mergeStyles({ position: 'absolute', height: '100%', width: '100%' }) },
40173
+ React.createElement(react.Stack, { styles: { root: { margin: 'auto', maxHeight: '100%' } } }, (options === null || options === undefined ? undefined : options.coinSize) && (React.createElement(AvatarPersona, Object.assign({ userId: userId }, options, { dataProvider: props.onFetchAvatarPersonaData }))))));
40174
+ }, [props.onFetchAvatarPersonaData]);
40175
+ let galleryContentWhenNotInCall = React.createElement(React.Fragment, null);
40176
+ /* @conditional-compile-remove(breakout-rooms) */
40177
+ if (!_isInCall(callStatus) && page === 'returningFromBreakoutRoom') {
40178
+ galleryContentWhenNotInCall = (React.createElement(VideoTile, { userId: toFlatCommunicationIdentifier(userId), displayName: displayName, initialsName: displayName, onRenderPlaceholder: onRenderAvatar }));
40179
+ }
40112
40180
  const onRenderGalleryContentTrampoline = () => {
40113
40181
  var _a;
40114
40182
  if (dtmfDialerPresent) {
@@ -40124,7 +40192,7 @@ const CallPage = (props) => {
40124
40192
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
40125
40193
  options: callControlOptions,
40126
40194
  increaseFlyoutItemSize: mobileView
40127
- }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, { isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, latestNotifications: latestNotifications, onDismissError: props.onDismissError, onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === undefined ? undefined : options.spotlight) === null || _b === undefined ? undefined : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants,
40195
+ }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, { isMobile: mobileView })))) : (galleryContentWhenNotInCall), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, latestNotifications: latestNotifications, onDismissError: props.onDismissError, onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === undefined ? undefined : options.spotlight) === null || _b === undefined ? undefined : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants,
40128
40196
  /* @conditional-compile-remove(call-readiness) */
40129
40197
  doNotShowCameraAccessNotifications: ((_d = (_c = props.options) === null || _c === undefined ? undefined : _c.deviceChecks) === null || _d === undefined ? undefined : _d.camera) === 'doNotPrompt', captionsOptions: options === null || options === undefined ? undefined : options.captionsBanner, dtmfDialerOptions: disableAutoShowDtmfDialer }),
40130
40198
  React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
@@ -42599,6 +42667,7 @@ const MainScreen = (props) => {
42599
42667
  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 }));
42600
42668
  break;
42601
42669
  case 'call':
42670
+ case 'returningFromBreakoutRoom':
42602
42671
  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 }));
42603
42672
  break;
42604
42673
  case 'hold':
@@ -42943,6 +43012,8 @@ class CallContext {
42943
43012
  constructor(clientState, isTeamsCall, isTeamsMeeting, isRoomsCall, options, targetCallees) {
42944
43013
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
42945
43014
  this.emitter = new events.EventEmitter();
43015
+ /* @conditional-compile-remove(breakout-rooms) */
43016
+ this.isReturningFromBreakoutRoom = false;
42946
43017
  this.state = {
42947
43018
  isLocalPreviewMicrophoneEnabled: false,
42948
43019
  userId: clientState.userId,
@@ -43019,6 +43090,10 @@ class CallContext {
43019
43090
  setTargetCallee(targetCallees) {
43020
43091
  this.setState(Object.assign(Object.assign({}, this.state), { targetCallees }));
43021
43092
  }
43093
+ /* @conditional-compile-remove(breakout-rooms) */
43094
+ setIsReturningFromBreakoutRoom(isReturningFromBreakoutRoom) {
43095
+ this.isReturningFromBreakoutRoom = isReturningFromBreakoutRoom;
43096
+ }
43022
43097
  onCallEnded(handler) {
43023
43098
  this.emitter.on('callEnded', handler);
43024
43099
  }
@@ -43026,7 +43101,7 @@ class CallContext {
43026
43101
  this.emitter.off('callEnded', handler);
43027
43102
  }
43028
43103
  updateClientState(clientState) {
43029
- var _a, _b, _c, _d, _e;
43104
+ var _a;
43030
43105
  let call = this.callId ? clientState.calls[this.callId] : undefined;
43031
43106
  const latestEndedCall = clientState.callsEnded ? findLatestEndedCall(clientState.callsEnded) : undefined;
43032
43107
  // As the state is transitioning to a new state, trigger appropriate callback events.
@@ -43041,13 +43116,13 @@ class CallContext {
43041
43116
  : undefined;
43042
43117
  const transferCall = latestAcceptedTransfer ? clientState.calls[latestAcceptedTransfer.callId] : undefined;
43043
43118
  /* @conditional-compile-remove(breakout-rooms) */
43044
- const originCall = ((_a = call === null || call === undefined ? undefined : call.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomOriginCallId)
43045
- ? clientState.calls[(_b = call === null || call === undefined ? undefined : call.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomOriginCallId]
43046
- : ((_c = latestEndedCall === null || latestEndedCall === undefined ? undefined : latestEndedCall.breakoutRooms) === null || _c === undefined ? undefined : _c.breakoutRoomOriginCallId)
43047
- ? clientState.calls[(_d = latestEndedCall === null || latestEndedCall === undefined ? undefined : latestEndedCall.breakoutRooms) === null || _d === undefined ? undefined : _d.breakoutRoomOriginCallId]
43048
- : undefined;
43049
- const newPage = getCallCompositePage(call, latestEndedCall, transferCall,
43050
- /* @conditional-compile-remove(breakout-rooms) */ originCall,
43119
+ if ((call === null || call === undefined ? undefined : call.state) === 'Connected' || (call === null || call === undefined ? undefined : call.state) === 'Connecting') {
43120
+ this.setIsReturningFromBreakoutRoom(false);
43121
+ }
43122
+ let isReturningFromBreakoutRoom = false;
43123
+ /* @conditional-compile-remove(breakout-rooms) */
43124
+ isReturningFromBreakoutRoom = this.isReturningFromBreakoutRoom;
43125
+ const newPage = getCallCompositePage(call, latestEndedCall, transferCall, isReturningFromBreakoutRoom,
43051
43126
  /* @conditional-compile-remove(unsupported-browser) */ environmentInfo);
43052
43127
  if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {
43053
43128
  this.emitter.emit('callEnded', { callId: this.callId });
@@ -43057,7 +43132,7 @@ class CallContext {
43057
43132
  call = undefined;
43058
43133
  }
43059
43134
  if (this.state.page) {
43060
- this.setState(Object.assign(Object.assign({}, this.state), { userId: clientState.userId, displayName: (_e = clientState.callAgent) === null || _e === undefined ? undefined : _e.displayName, call, page: newPage, endedCall: latestEndedCall, devices: clientState.deviceManager, latestErrors: clientState.latestErrors,
43135
+ this.setState(Object.assign(Object.assign({}, this.state), { userId: clientState.userId, displayName: (_a = clientState.callAgent) === null || _a === undefined ? undefined : _a.displayName, call, page: newPage, endedCall: latestEndedCall, devices: clientState.deviceManager, latestErrors: clientState.latestErrors,
43061
43136
  /* @conditional-compile-remove(breakout-rooms) */ latestNotifications: clientState.latestNotifications, cameraStatus: (call === null || call === undefined ? undefined : call.localVideoStreams.find((s) => s.mediaStreamType === 'Video')) ||
43062
43137
  clientState.deviceManager.unparentedViews.find((s) => s.mediaStreamType === 'Video')
43063
43138
  ? 'On'
@@ -43899,20 +43974,16 @@ class AzureCommunicationCallAdapter {
43899
43974
  /* @conditional-compile-remove(breakout-rooms) */
43900
43975
  returnFromBreakoutRoom() {
43901
43976
  return __awaiter$7(this, undefined, undefined, function* () {
43902
- var _a;
43903
- if (!this.originCall) {
43904
- throw new Error('Could not return from breakout room because the origin call could not be retrieved.');
43905
- }
43906
- if (((_a = this.call) === null || _a === undefined ? undefined : _a.id) === this.originCall.id) {
43907
- console.error('Return from breakout room will not be done because current call is the origin call.');
43908
- return;
43909
- }
43910
- const breakoutRoomCall = this.call;
43911
- this.processNewCall(this.originCall);
43912
- yield this.resumeCall();
43913
- if ((breakoutRoomCall === null || breakoutRoomCall === undefined ? undefined : breakoutRoomCall.state) && !['Disconnecting', 'Disconnected'].includes(breakoutRoomCall.state)) {
43914
- breakoutRoomCall.hangUp();
43977
+ var _a, _b;
43978
+ const callState = ((_a = this.call) === null || _a === undefined ? undefined : _a.id) ? this.callClient.getState().calls[this.call.id] : undefined;
43979
+ const assignedBreakoutRoom = (_b = callState === null || callState === undefined ? undefined : callState.breakoutRooms) === null || _b === undefined ? undefined : _b.assignedBreakoutRoom;
43980
+ if (!assignedBreakoutRoom) {
43981
+ throw new Error('Could not return from breakout room because assigned breakout room state could not be retrieved.');
43915
43982
  }
43983
+ this.context.setIsReturningFromBreakoutRoom(true);
43984
+ const mainMeeting = yield assignedBreakoutRoom.returnToMainMeeting();
43985
+ this.originCall = mainMeeting;
43986
+ this.processNewCall(mainMeeting);
43916
43987
  });
43917
43988
  }
43918
43989
  getState() {
@@ -44128,14 +44199,10 @@ class AzureCommunicationCallAdapter {
44128
44199
  }
44129
44200
  /* @conditional-compile-remove(breakout-rooms) */
44130
44201
  hangupOtherBreakoutRoomCalls(currentBreakoutRoomCallId) {
44131
- var _a;
44132
- // Get origin call id of breakout room call
44133
- const breakoutRoomCallState = this.callClient.getState().calls[currentBreakoutRoomCallId];
44134
- const originCallId = (_a = breakoutRoomCallState === null || breakoutRoomCallState === undefined ? undefined : breakoutRoomCallState.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomOriginCallId;
44135
- // Get other breakout room calls with the same origin call
44202
+ // Get other breakout room calls by checking which other calls have breakout room settings defined
44136
44203
  const otherBreakoutRoomCallStates = Object.values(this.callClient.getState().calls).filter((callState) => {
44137
44204
  var _a;
44138
- return (((_a = callState.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomOriginCallId) === originCallId && callState.id !== currentBreakoutRoomCallId);
44205
+ return ((_a = callState.breakoutRooms) === null || _a === undefined ? undefined : _a.breakoutRoomSettings) && callState.id !== currentBreakoutRoomCallId;
44139
44206
  });
44140
44207
  // Hang up other breakout room calls
44141
44208
  for (const breakoutRoom of otherBreakoutRoomCallStates) {
@@ -45532,23 +45599,34 @@ class AzureCommunicationCallWithChatAdapter {
45532
45599
  this.callAdapter.onStateChange(onCallStateChange);
45533
45600
  /* @conditional-compile-remove(breakout-rooms) */
45534
45601
  this.callAdapter.on('breakoutRoomsUpdated', (eventData) => __awaiter$4(this, undefined, undefined, function* () {
45602
+ var _a, _b;
45535
45603
  if (eventData.type === 'join') {
45536
45604
  yield this.breakoutRoomJoined(eventData.data);
45537
45605
  }
45538
45606
  else if (eventData.type === 'assignedBreakoutRooms') {
45539
45607
  if (!eventData.data || eventData.data.state === 'closed') {
45540
- yield this.returnFromBreakoutRoom();
45608
+ if (this.originCallChatAdapter &&
45609
+ ((_a = this.originCallChatAdapter) === null || _a === undefined ? undefined : _a.getState().thread.threadId) !== ((_b = this.chatAdapter) === null || _b === undefined ? undefined : _b.getState().thread.threadId)) {
45610
+ this.updateChatAdapter(this.originCallChatAdapter);
45611
+ }
45541
45612
  }
45542
45613
  }
45543
45614
  }));
45544
45615
  /* @conditional-compile-remove(breakout-rooms) */
45545
45616
  this.callAdapter.on('callEnded', () => {
45546
45617
  var _a, _b, _c;
45547
- const originCallId = (_b = (_a = this.context.getState().call) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomOriginCallId;
45548
- // If the call ended is a breakout room call, return to the origin call chat adapter
45549
- if (originCallId && this.originCallChatAdapter) {
45550
- (_c = this.breakoutRoomChatAdapter) === null || _c === undefined ? undefined : _c.dispose();
45551
- this.updateChatAdapter(this.originCallChatAdapter);
45618
+ // If the call ended is a breakout room call with breakout room settings then update the chat adapter to the
45619
+ // origin call
45620
+ if ((_b = (_a = this.context.getState().call) === null || _a === undefined ? undefined : _a.breakoutRooms) === null || _b === undefined ? undefined : _b.breakoutRoomSettings) {
45621
+ // Unsubscribe from chat adapter state changes
45622
+ (_c = this.chatAdapter) === null || _c === undefined ? undefined : _c.offStateChange(this.onChatStateChange);
45623
+ // Unassign chat adapter
45624
+ this.chatAdapter = undefined;
45625
+ // Set chat state to undefined to prevent showing chat thread of origin call
45626
+ this.context.unsetChatState();
45627
+ if (this.originCallChatAdapter) {
45628
+ this.updateChatAdapter(this.originCallChatAdapter);
45629
+ }
45552
45630
  }
45553
45631
  });
45554
45632
  this.onCallStateChange = onCallStateChange;
@@ -47366,4 +47444,4 @@ exports.useTeamsCall = useTeamsCall;
47366
47444
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
47367
47445
  exports.useTeamsCallAgent = useTeamsCallAgent;
47368
47446
  exports.useTheme = useTheme;
47369
- //# sourceMappingURL=index-CNpitKVB.js.map
47447
+ //# sourceMappingURL=index-DHKLzBam.js.map