@azure/communication-react 1.23.0-alpha-202501120018 → 1.23.0-alpha-202501170016

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 (60) hide show
  1. package/dist/communication-react.d.ts +86 -21
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BbYciITo.js → ChatMessageComponentAsRichTextEditBox-Bs70B1Sm.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BbYciITo.js.map → ChatMessageComponentAsRichTextEditBox-Bs70B1Sm.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-CcLqgWsO.js → RichTextSendBoxWrapper-CxNd16vB.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-CcLqgWsO.js.map → RichTextSendBoxWrapper-CxNd16vB.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-CuxcFFWR.js → index-DwZL8eqF.js} +551 -39
  7. package/dist/dist-cjs/communication-react/index-DwZL8eqF.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-stateful-client/src/CapabilitiesSubscriber.d.ts +1 -0
  12. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +10 -2
  13. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  14. package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
  15. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  16. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +44 -8
  17. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +42 -13
  18. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  19. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +13 -2
  20. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  21. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.d.ts +2 -0
  22. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +12 -1
  23. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +4 -0
  25. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/RealTimeText.d.ts +3 -3
  27. package/dist/dist-esm/react-components/src/components/RealTimeText.js +2 -2
  28. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.d.ts +5 -2
  30. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js.map +1 -1
  31. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.d.ts +3 -3
  32. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.d.ts +15 -0
  34. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js +123 -0
  35. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js.map +1 -0
  36. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +5 -0
  37. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  38. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.d.ts +9 -0
  39. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js +85 -0
  40. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js.map +1 -0
  41. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.d.ts +24 -0
  42. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js +53 -0
  43. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js.map +1 -0
  44. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +11 -1
  45. package/dist/dist-esm/react-components/src/components/VideoGallery.js +61 -3
  46. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  47. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.d.ts +89 -0
  48. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js +173 -0
  49. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js.map +1 -0
  50. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.d.ts +8 -0
  51. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js +25 -0
  52. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js.map +1 -0
  53. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +3 -1
  54. package/dist/dist-esm/react-components/src/types/ReactionTypes.d.ts +1 -1
  55. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +12 -0
  57. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  58. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +6 -0
  59. package/package.json +1 -1
  60. package/dist/dist-cjs/communication-react/index-CuxcFFWR.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.23.0-alpha-202501120018';
191
+ var telemetryVersion = '1.23.0-alpha-202501170016';
192
192
 
193
193
 
194
194
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -5006,6 +5006,8 @@ class OptimalVideoCountSubscriber {
5006
5006
  */
5007
5007
  class CapabilitiesSubscriber {
5008
5008
  constructor(callIdRef, context, capabilities) {
5009
+ /* @conditional-compile-remove(media-access) */
5010
+ this._capabilitiesInitialized = false;
5009
5011
  this.subscribe = () => {
5010
5012
  this._capabilitiesFeature.on('capabilitiesChanged', this.capabilitiesChanged);
5011
5013
  };
@@ -5019,12 +5021,16 @@ class CapabilitiesSubscriber {
5019
5021
  }
5020
5022
  /* @conditional-compile-remove(media-access) */
5021
5023
  this.setUnmuteMicAndTurnVideoOnNotification(data);
5024
+ /* @conditional-compile-remove(media-access) */
5025
+ this._capabilitiesInitialized = true;
5022
5026
  };
5023
5027
  /* @conditional-compile-remove(media-access) */
5024
5028
  this.setUnmuteMicAndTurnVideoOnNotification = (data) => {
5025
5029
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
5026
5030
  if (((_a = data.oldValue.turnVideoOn) === null || _a === void 0 ? void 0 : _a.isPresent) !== ((_b = data.newValue.turnVideoOn) === null || _b === void 0 ? void 0 : _b.isPresent)) {
5027
- if (((_c = data.oldValue.turnVideoOn) === null || _c === void 0 ? void 0 : _c.isPresent) === false && ((_d = data.newValue.turnVideoOn) === null || _d === void 0 ? void 0 : _d.isPresent)) {
5031
+ if (((_c = data.oldValue.turnVideoOn) === null || _c === void 0 ? void 0 : _c.isPresent) === false &&
5032
+ ((_d = data.newValue.turnVideoOn) === null || _d === void 0 ? void 0 : _d.isPresent) &&
5033
+ this._capabilitiesInitialized) {
5028
5034
  const capabilityTurnVideoOnAbsent = this._context.getState().latestNotifications.capabilityTurnVideoOnAbsent;
5029
5035
  if (capabilityTurnVideoOnAbsent) {
5030
5036
  this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityTurnVideoOnAbsent');
@@ -5052,7 +5058,9 @@ class CapabilitiesSubscriber {
5052
5058
  }
5053
5059
  }
5054
5060
  if (((_f = data.oldValue.unmuteMic) === null || _f === void 0 ? void 0 : _f.isPresent) !== ((_g = data.newValue.unmuteMic) === null || _g === void 0 ? void 0 : _g.isPresent)) {
5055
- if (((_h = data.oldValue.unmuteMic) === null || _h === void 0 ? void 0 : _h.isPresent) === false && ((_j = data.newValue.unmuteMic) === null || _j === void 0 ? void 0 : _j.isPresent)) {
5061
+ if (((_h = data.oldValue.unmuteMic) === null || _h === void 0 ? void 0 : _h.isPresent) === false &&
5062
+ ((_j = data.newValue.unmuteMic) === null || _j === void 0 ? void 0 : _j.isPresent) &&
5063
+ this._capabilitiesInitialized) {
5056
5064
  const capabilityUnmuteMicAbsent = this._context.getState().latestNotifications.capabilityUnmuteMicAbsent;
5057
5065
  if (capabilityUnmuteMicAbsent) {
5058
5066
  this._context.deleteLatestNotification(this._callIdRef.callId, 'capabilityUnmuteMicAbsent');
@@ -7317,7 +7325,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
7317
7325
  wordBreak: 'break-word'
7318
7326
  });
7319
7327
 
7320
- var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var realTimeTextModal={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$n={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$n={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton={onLabel:"Turn on RTT for this call",tooltipOnContent:"RTT is turned on for this call"};var messageThread$n={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$n={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$n={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"}};var videoGallery$n={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$n={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$n={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$n={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$n={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$n={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$n={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$n={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$o={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton,messageThread:messageThread$n,errorBar:errorBar$n,notificationStack:notificationStack$n,videoGallery:videoGallery$n,dialpad:dialpad$n,holdButton:holdButton$n,videoTile:videoTile$n,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$n,CameraSitePermissionsRequest:CameraSitePermissionsRequest$n,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$n,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$n,CameraSitePermissionsCheck:CameraSitePermissionsCheck$n,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$n,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$n,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$n,CameraSitePermissionsDenied:CameraSitePermissionsDenied$n,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$n,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$n,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$n,UnsupportedBrowser:UnsupportedBrowser$o,UnsupportedBrowserVersion:UnsupportedBrowserVersion$o,UnsupportedOperatingSystem:UnsupportedOperatingSystem$o,BrowserPermissionDenied:BrowserPermissionDenied$n,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$n,verticalGallery:verticalGallery$n,meetingConferencePhoneInfo:meetingConferencePhoneInfo$n,IncomingCallNotification:IncomingCallNotification$o};
7328
+ var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var realTimeTextModal={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$n={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$n={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton={onLabel:"Turn on RTT for this call",tooltipOnContent:"RTT is turned on for this call"};var messageThread$n={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$n={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$n={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"}};var videoGallery$n={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$n={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$n={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$n={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$n={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$n={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$n={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$n={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$o={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton,messageThread:messageThread$n,errorBar:errorBar$n,notificationStack:notificationStack$n,videoGallery:videoGallery$n,dialpad:dialpad$n,holdButton:holdButton$n,videoTile:videoTile$n,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$n,CameraSitePermissionsRequest:CameraSitePermissionsRequest$n,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$n,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$n,CameraSitePermissionsCheck:CameraSitePermissionsCheck$n,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$n,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$n,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$n,CameraSitePermissionsDenied:CameraSitePermissionsDenied$n,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$n,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$n,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$n,UnsupportedBrowser:UnsupportedBrowser$o,UnsupportedBrowserVersion:UnsupportedBrowserVersion$o,UnsupportedOperatingSystem:UnsupportedOperatingSystem$o,BrowserPermissionDenied:BrowserPermissionDenied$n,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$n,verticalGallery:verticalGallery$n,meetingConferencePhoneInfo:meetingConferencePhoneInfo$n,IncomingCallNotification:IncomingCallNotification$o};
7321
7329
 
7322
7330
  // Copyright (c) Microsoft Corporation.
7323
7331
  // Licensed under the MIT License.
@@ -15519,8 +15527,19 @@ const extractContentForAllyMessage = (props) => {
15519
15527
  return '';
15520
15528
  };
15521
15529
  const generateLiveMessage = (props) => {
15522
- const liveAuthor = _formatString(props.strings.liveAuthorIntro, { author: `${props.message.senderDisplayName}` });
15523
- return `${props.message.editedOn ? props.strings.editedTag : ''} ${props.message.mine ? '' : liveAuthor} ${extractContentForAllyMessage(props)} `;
15530
+ const messageContent = extractContentForAllyMessage(props);
15531
+ if (props.message.editedOn) {
15532
+ const liveAuthor = _formatString(props.strings.editedMessageLiveAuthorIntro, {
15533
+ author: `${props.message.senderDisplayName}`
15534
+ });
15535
+ return `${props.message.mine ? props.strings.editedMessageLocalUserLiveAuthorIntro : liveAuthor} ${messageContent}`;
15536
+ }
15537
+ else {
15538
+ const liveAuthor = _formatString(props.strings.liveAuthorIntro, {
15539
+ author: `${props.message.senderDisplayName}`
15540
+ });
15541
+ return `${props.message.mine ? '' : liveAuthor} ${messageContent} `;
15542
+ }
15524
15543
  };
15525
15544
  const messageContentAriaText = (props) => {
15526
15545
  var _a, _b;
@@ -16152,7 +16171,7 @@ class _ErrorBoundary extends React.Component {
16152
16171
  // Copyright (c) Microsoft Corporation.
16153
16172
  // Licensed under the MIT License.
16154
16173
  /* @conditional-compile-remove(rich-text-editor) */
16155
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BbYciITo.js'); }));
16174
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Bs70B1Sm.js'); }));
16156
16175
  /**
16157
16176
  * @private
16158
16177
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -16160,7 +16179,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
16160
16179
  *
16161
16180
  * @conditional-compile-remove(rich-text-editor)
16162
16181
  */
16163
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BbYciITo.js'); });
16182
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Bs70B1Sm.js'); });
16164
16183
  /**
16165
16184
  * @private
16166
16185
  */
@@ -19937,6 +19956,284 @@ const RemoteContentShareReactionOverlay = React.memo((props) => {
19937
19956
  })));
19938
19957
  });
19939
19958
 
19959
+ // Copyright (c) Microsoft Corporation.
19960
+ // Licensed under the MIT License.
19961
+ /* @conditional-compile-remove(together-mode) */
19962
+ /* @conditional-compile-remove(together-mode) */
19963
+ /**
19964
+ * Multiplier to convert rem units to pixels.
19965
+ */
19966
+ const REM_TO_PX_MULTIPLIER = 16;
19967
+ /* @conditional-compile-remove(together-mode) */
19968
+ /**
19969
+ * The travel height for reactions in Together Mode.
19970
+ * The reaction move overlay uses pixel units, so the seat position height, defined in rem, needs to be converted to pixels
19971
+ */
19972
+ const REACTION_TRAVEL_HEIGHT = 0.35 * REM_TO_PX_MULTIPLIER;
19973
+ /* @conditional-compile-remove(together-mode) */
19974
+ /**
19975
+ * Defines the maximum travel height for reactions in Together Mode.
19976
+ * Ensures the reaction animation does not exceed the center point from the top.
19977
+ * Since the reaction move overlay uses pixel units, the seat position height (defined in rem) must be converted to pixels.
19978
+ */
19979
+ const REACTION_MAX_TRAVEL_HEIGHT = 0.5 * REM_TO_PX_MULTIPLIER;
19980
+ /* @conditional-compile-remove(together-mode) */
19981
+ /**
19982
+ * Sets the seating position for a participant in Together Mode.
19983
+ *
19984
+ * @param seatingPosition - The seating position information.
19985
+ * @returns The style object for the seating position.
19986
+ */
19987
+ function setParticipantSeatingPosition(seatingPosition) {
19988
+ return {
19989
+ width: _pxToRem(seatingPosition.width),
19990
+ height: _pxToRem(seatingPosition.height),
19991
+ left: _pxToRem(seatingPosition.left),
19992
+ top: _pxToRem(seatingPosition.top)
19993
+ };
19994
+ }
19995
+ /* @conditional-compile-remove(together-mode) */
19996
+ /**
19997
+ * Return a style bucket based on the number of active sprites.
19998
+ * For example, the first three reactions should appear at maximum
19999
+ * height, width, and opacity.
20000
+ * @private
20001
+ */
20002
+ function setTogetherModeSeatPositionStyle(seatingPosition) {
20003
+ return {
20004
+ seatPosition: setParticipantSeatingPosition(seatingPosition)
20005
+ };
20006
+ }
20007
+ /* @conditional-compile-remove(together-mode) */
20008
+ /**
20009
+ * The style for the Together Mode meeting overlay.
20010
+ */
20011
+ const togetherModeMeetingOverlayStyle = {
20012
+ width: '100%',
20013
+ height: '100%',
20014
+ position: 'absolute',
20015
+ top: '0',
20016
+ left: '0'
20017
+ };
20018
+ /* @conditional-compile-remove(together-mode) */
20019
+ /**
20020
+ * Generates the overlay style for a participant in Together Mode.
20021
+ *
20022
+ * @param seatingPosition - The seating position information.
20023
+ * @returns The style object for the participant overlay.
20024
+ */
20025
+ function getTogetherModeParticipantOverlayStyle(seatingPositionStyle) {
20026
+ return Object.assign(Object.assign({}, seatingPositionStyle.seatPosition), { position: 'absolute' });
20027
+ }
20028
+ /* @conditional-compile-remove(together-mode) */
20029
+ // Function to map a value from one range to another
20030
+ const mapRange = (value, inMin, inMax, outMin, outMax) => {
20031
+ return outMin + ((value - inMin) * (outMax - outMin)) / (inMax - inMin);
20032
+ };
20033
+ /* @conditional-compile-remove(together-mode) */
20034
+ /**
20035
+ * Calculate the reaction emoji scaled size based on width and height of the participant seat width and height.
20036
+ * This is needed when the browser is resized and the participant seat width and height changes.
20037
+ *
20038
+ * @param width - The width of the element.
20039
+ * @param height - The height of the element.
20040
+ * @returns The scaled size.
20041
+ */
20042
+ const calculateScaledSize = (width, height) => {
20043
+ // Maximum participant seat width and height
20044
+ const maxSize = 600;
20045
+ // Minimum participant seat width and height
20046
+ const minSize = 200;
20047
+ // Minimum scaled width and height of the reaction emoji
20048
+ const minScaledSize = 35;
20049
+ // Maximum scaled width and height of the reaction emoji
20050
+ const maxScaledSize = 70;
20051
+ // Use width or height to determine scaling factor
20052
+ const size = Math.min(width, height);
20053
+ // Map the size to the desired range
20054
+ return mapRange(size, minSize, maxSize, minScaledSize, maxScaledSize);
20055
+ };
20056
+ /* @conditional-compile-remove(together-mode) */
20057
+ /**
20058
+ * @private
20059
+ */
20060
+ const togetherModeStreamRootStyle = {
20061
+ root: {
20062
+ width: '100%',
20063
+ height: '100%',
20064
+ display: 'flex',
20065
+ justifyContent: 'center',
20066
+ alignItems: 'center',
20067
+ position: 'absolute',
20068
+ top: 0,
20069
+ left: 0
20070
+ }
20071
+ };
20072
+ /* @conditional-compile-remove(together-mode) */
20073
+ /**
20074
+ * @private
20075
+ */
20076
+ const togetherModeIconStyle = () => {
20077
+ return {
20078
+ width: _pxToRem(20),
20079
+ flexShrink: 0
20080
+ };
20081
+ };
20082
+ /* @conditional-compile-remove(together-mode) */
20083
+ /**
20084
+ * The style for the container holding the display name, raiseHand, spotlight and mute icons.
20085
+ * @private
20086
+ */
20087
+ const togetherModeParticipantStatusContainer = (backgroundColor, borderRadius) => {
20088
+ return {
20089
+ backgroundColor,
20090
+ display: 'flex',
20091
+ justifyContent: 'center',
20092
+ alignItems: 'center',
20093
+ gap: _pxToRem(2),
20094
+ margin: '0 auto', // Centers the container
20095
+ padding: `0 ${_pxToRem(5)}`,
20096
+ borderRadius,
20097
+ width: 'fit-content'
20098
+ };
20099
+ };
20100
+ /* @conditional-compile-remove(together-mode) */
20101
+ /**
20102
+ * @private
20103
+ */
20104
+ const togetherModeParticipantDisplayName = (isParticipantHovered, participantSeatingWidth, color) => {
20105
+ const MIN_DISPLAY_NAME_WIDTH = 100;
20106
+ return {
20107
+ textOverflow: 'ellipsis',
20108
+ flexGrow: 1, // Allow text to grow within available space
20109
+ overflow: isParticipantHovered ? 'visible' : 'hidden',
20110
+ whiteSpace: 'nowrap',
20111
+ textAlign: 'center',
20112
+ color,
20113
+ display: isParticipantHovered || participantSeatingWidth > MIN_DISPLAY_NAME_WIDTH ? 'inline-block' : 'none' // Completely remove the element when hidden
20114
+ };
20115
+ };
20116
+ /* @conditional-compile-remove(together-mode) */
20117
+ /**
20118
+ * @private
20119
+ */
20120
+ const togetherModeParticipantEmojiSpriteStyle = (emojiSize, emojiScaledSize, participantSeatWidth) => {
20121
+ const participantSeatWidthInPixel = parseFloat(participantSeatWidth) * REM_TO_PX_MULTIPLIER;
20122
+ const emojiScaledSizeInPercent = (emojiScaledSize / participantSeatWidthInPixel) * 100;
20123
+ return {
20124
+ width: `${emojiSize}`,
20125
+ position: 'absolute',
20126
+ // Center the emoji sprite within the participant seat
20127
+ left: `${emojiScaledSizeInPercent / 2}%`
20128
+ };
20129
+ };
20130
+
20131
+ // Copyright (c) Microsoft Corporation.
20132
+ // Licensed under the MIT License.
20133
+ /* @conditional-compile-remove(together-mode) */
20134
+ /* @conditional-compile-remove(together-mode) */
20135
+ /**
20136
+ * TogetherModeOverlay component renders an empty JSX element.
20137
+ *
20138
+ * @returns {JSX.Element} An empty JSX element.
20139
+ */
20140
+ const TogetherModeOverlay = React.memo((props) => {
20141
+ const locale = useLocale$1();
20142
+ const theme = useTheme();
20143
+ const callingPalette = theme.callingPalette;
20144
+ const { emojiSize, reactionResources, remoteParticipants, localParticipant, togetherModeSeatPositions } = props;
20145
+ const [togetherModeParticipantStatus, setTogetherModeParticipantStatus] = React.useState({});
20146
+ const [hoveredParticipantID, setHoveredParticipantID] = React.useState('');
20147
+ /*
20148
+ * The useMemo hook is used to calculate the participant status for the Together Mode overlay.
20149
+ * It updates the togetherModeParticipantStatus state when there's a change in the remoteParticipants, localParticipant,
20150
+ * raisedHand, spotlight, isMuted, displayName, or hoveredParticipantID.
20151
+ */
20152
+ React.useMemo(() => {
20153
+ const allParticipants = [...remoteParticipants, localParticipant];
20154
+ const participantsWithVideoAvailable = allParticipants.filter((p) => { var _a; return ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && togetherModeSeatPositions[p.userId]; });
20155
+ const updatedSignals = {};
20156
+ for (const p of participantsWithVideoAvailable) {
20157
+ const { userId, reaction, raisedHand, spotlight, isMuted, displayName } = p;
20158
+ const seatingPosition = togetherModeSeatPositions[userId];
20159
+ if (seatingPosition) {
20160
+ updatedSignals[userId] = {
20161
+ id: userId,
20162
+ reaction: reactionResources && reaction,
20163
+ isHandRaised: !!raisedHand,
20164
+ isSpotlighted: !!spotlight,
20165
+ isMuted,
20166
+ displayName: displayName || locale.strings.videoGallery.displayNamePlaceholder,
20167
+ showDisplayName: !!(spotlight || raisedHand || hoveredParticipantID === userId),
20168
+ scaledSize: calculateScaledSize(seatingPosition.width, seatingPosition.height),
20169
+ seatPositionStyle: setTogetherModeSeatPositionStyle(seatingPosition)
20170
+ };
20171
+ }
20172
+ }
20173
+ // This is used to remove the participants bounding box from the DOM when they are no longer in the stream
20174
+ const participantsNotInTogetherModeStream = Object.keys(togetherModeParticipantStatus).filter((id) => !updatedSignals[id]);
20175
+ setTogetherModeParticipantStatus((prevSignals) => {
20176
+ const newSignals = Object.assign(Object.assign({}, prevSignals), updatedSignals);
20177
+ const newSignalsLength = Object.keys(newSignals).length;
20178
+ participantsNotInTogetherModeStream.forEach((id) => {
20179
+ delete newSignals[id];
20180
+ });
20181
+ const hasChanges = Object.keys(newSignals).some((key) => JSON.stringify(newSignals[key]) !== JSON.stringify(prevSignals[key]) ||
20182
+ newSignalsLength !== Object.keys(prevSignals).length);
20183
+ return hasChanges ? newSignals : prevSignals;
20184
+ });
20185
+ }, [
20186
+ remoteParticipants,
20187
+ localParticipant,
20188
+ togetherModeParticipantStatus,
20189
+ togetherModeSeatPositions,
20190
+ reactionResources,
20191
+ locale.strings.videoGallery.displayNamePlaceholder,
20192
+ hoveredParticipantID
20193
+ ]);
20194
+ /*
20195
+ * When a larger participant scene switches to a smaller group in Together Mode,
20196
+ * participant video streams remain available because their video is still active,
20197
+ * even though they are not visible in the Together Mode stream.
20198
+ * Therefore, we rely on the updated seating position values to identify who is included in the Together Mode stream.
20199
+ * The Together mode seat position will only contain seat coordinates of participants who are visible in the Together Mode stream.
20200
+ */
20201
+ React.useMemo(() => {
20202
+ const removedVisibleParticipants = Object.keys(togetherModeParticipantStatus).filter((participantId) => !togetherModeSeatPositions[participantId]);
20203
+ setTogetherModeParticipantStatus((prevSignals) => {
20204
+ const newSignals = Object.assign({}, prevSignals);
20205
+ removedVisibleParticipants.forEach((participantId) => {
20206
+ delete newSignals[participantId];
20207
+ });
20208
+ // Trigger a re-render only if changes occurred
20209
+ const hasChanges = Object.keys(newSignals).length !== Object.keys(prevSignals).length;
20210
+ return hasChanges ? newSignals : prevSignals;
20211
+ });
20212
+ }, [togetherModeParticipantStatus, togetherModeSeatPositions]);
20213
+ return (React.createElement("div", { style: { position: 'absolute', width: '100%', height: '100%' } }, Object.values(togetherModeParticipantStatus).map((participantStatus) => {
20214
+ var _a, _b;
20215
+ return participantStatus.id && (React.createElement("div", { key: participantStatus.id, style: Object.assign({}, getTogetherModeParticipantOverlayStyle(participantStatus.seatPositionStyle)), onMouseEnter: () => setHoveredParticipantID(participantStatus.id), onMouseLeave: () => setHoveredParticipantID('') },
20216
+ React.createElement("div", null,
20217
+ ((_a = participantStatus.reaction) === null || _a === void 0 ? void 0 : _a.reactionType) && (
20218
+ // First div - Section that fixes the travel height and applies the movement animation
20219
+ // Second div - Responsible for ensuring the sprite emoji is always centered in the participant seat position
20220
+ // Third div - Play Animation as the other animation applies on the base play animation for the sprite
20221
+ React.createElement("div", { style: moveAnimationStyles(parseFloat(participantStatus.seatPositionStyle.seatPosition.height) *
20222
+ REACTION_MAX_TRAVEL_HEIGHT, parseFloat(participantStatus.seatPositionStyle.seatPosition.height) * REACTION_TRAVEL_HEIGHT) },
20223
+ React.createElement("div", { style: Object.assign({}, togetherModeParticipantEmojiSpriteStyle(emojiSize, participantStatus.scaledSize || 1, participantStatus.seatPositionStyle.seatPosition.width)) },
20224
+ React.createElement("div", { style: spriteAnimationStyles(REACTION_NUMBER_OF_ANIMATION_FRAMES, participantStatus.scaledSize || 1, (_b = (participantStatus.reaction &&
20225
+ getEmojiResource(participantStatus === null || participantStatus === void 0 ? void 0 : participantStatus.reaction.reactionType, reactionResources))) !== null && _b !== void 0 ? _b : '') })))),
20226
+ participantStatus.showDisplayName && (React.createElement("div", null,
20227
+ React.createElement("div", { style: Object.assign({}, togetherModeParticipantStatusContainer(callingPalette.videoTileLabelBackgroundLight, theme.effects.roundedCorner4)) },
20228
+ participantStatus.isHandRaised && React.createElement(RaisedHandIcon, null),
20229
+ participantStatus.showDisplayName && (React.createElement(react.Text, { style: Object.assign({}, togetherModeParticipantDisplayName(hoveredParticipantID === participantStatus.id, parseFloat(participantStatus.seatPositionStyle.seatPosition.width), participantStatus.displayName ? theme.palette.neutralSecondary : 'inherit')) }, participantStatus.displayName)),
20230
+ participantStatus.isMuted && (React.createElement(react.Stack, { className: react.mergeStyles(togetherModeIconStyle) },
20231
+ React.createElement(react.Icon, { iconName: "VideoTileMicOff" }))),
20232
+ participantStatus.isSpotlighted && (React.createElement(react.Stack, { className: react.mergeStyles(togetherModeIconStyle) },
20233
+ React.createElement(react.Icon, { iconName: "VideoTileSpotlighted" })))))))));
20234
+ })));
20235
+ });
20236
+
19940
20237
  // Copyright (c) Microsoft Corporation.
19941
20238
  // Licensed under the MIT License.
19942
20239
  /**
@@ -19962,7 +20259,8 @@ const REACTION_EMOJI_RESIZE_SCALE_CONSTANT = 3;
19962
20259
  * @internal
19963
20260
  */
19964
20261
  const MeetingReactionOverlay = (props) => {
19965
- const { overlayMode, reaction, reactionResources, localParticipant, remoteParticipants } = props;
20262
+ const { overlayMode, reaction, reactionResources, localParticipant, remoteParticipants,
20263
+ /* @conditional-compile-remove(together-mode) */ togetherModeSeatPositions } = props;
19966
20264
  const [emojiSizePx, setEmojiSizePx] = React.useState(0);
19967
20265
  const [divHeight, setDivHeight] = React.useState(0);
19968
20266
  const [divWidth, setDivWidth] = React.useState(0);
@@ -19999,6 +20297,11 @@ const MeetingReactionOverlay = (props) => {
19999
20297
  return (React.createElement("div", { ref: videoTileRef, style: { width: '100%', height: '100%', pointerEvents: 'none' } },
20000
20298
  React.createElement(RemoteContentShareReactionOverlay, { hostDivHeight: divHeight, hostDivWidth: divWidth, reactionResources: reactionResources, localParticipant: localParticipant, remoteParticipants: remoteParticipants })));
20001
20299
  }
20300
+ else if (props.overlayMode === 'together-mode') {
20301
+ /* @conditional-compile-remove(together-mode) */
20302
+ return (React.createElement("div", { style: Object.assign({}, togetherModeMeetingOverlayStyle) },
20303
+ React.createElement(TogetherModeOverlay, { emojiSize: emojiSizePx, reactionResources: reactionResources, localParticipant: localParticipant !== null && localParticipant !== void 0 ? localParticipant : {}, remoteParticipants: remoteParticipants !== null && remoteParticipants !== void 0 ? remoteParticipants : [], togetherModeSeatPositions: togetherModeSeatPositions !== null && togetherModeSeatPositions !== void 0 ? togetherModeSeatPositions : {} })));
20304
+ }
20002
20305
  else {
20003
20306
  return React.createElement(React.Fragment, null);
20004
20307
  }
@@ -21318,9 +21621,9 @@ const DefaultLayout = (props) => {
21318
21621
  return (React.createElement(react.Stack, { horizontal: overflowGalleryPosition === 'verticalRight', styles: rootLayoutStyle$1, tokens: videoGalleryLayoutGap },
21319
21622
  props.overflowGalleryPosition === 'horizontalTop' ? overflowGallery : React.createElement(React.Fragment, null),
21320
21623
  screenShareComponent ? (screenShareComponent) : (React.createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
21321
- overflowGalleryTrampoline$3(overflowGallery, props.overflowGalleryPosition)));
21624
+ overflowGalleryTrampoline$4(overflowGallery, props.overflowGalleryPosition)));
21322
21625
  };
21323
- const overflowGalleryTrampoline$3 = (gallery, galleryPosition) => {
21626
+ const overflowGalleryTrampoline$4 = (gallery, galleryPosition) => {
21324
21627
  return galleryPosition !== 'horizontalTop' ? gallery : React.createElement(React.Fragment, null);
21325
21628
  };
21326
21629
 
@@ -22173,9 +22476,9 @@ const FloatingLocalVideoLayout = (props) => {
22173
22476
  React.createElement(react.Stack, { horizontal: overflowGalleryPosition === 'verticalRight', styles: innerLayoutStyle, tokens: videoGalleryLayoutGap },
22174
22477
  props.overflowGalleryPosition === 'horizontalTop' ? overflowGallery : React.createElement(React.Fragment, null),
22175
22478
  screenShareComponent ? (screenShareComponent) : (React.createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
22176
- overflowGalleryTrampoline$2(overflowGallery, props.overflowGalleryPosition))));
22479
+ overflowGalleryTrampoline$3(overflowGallery, props.overflowGalleryPosition))));
22177
22480
  };
22178
- const overflowGalleryTrampoline$2 = (gallery, galleryPosition) => {
22481
+ const overflowGalleryTrampoline$3 = (gallery, galleryPosition) => {
22179
22482
  return galleryPosition !== 'horizontalTop' ? gallery : React.createElement(React.Fragment, null);
22180
22483
  };
22181
22484
 
@@ -22268,9 +22571,9 @@ const SpeakerVideoLayout = (props) => {
22268
22571
  React.createElement(react.Stack, { horizontal: overflowGalleryPosition === 'verticalRight', styles: innerLayoutStyle, tokens: videoGalleryLayoutGap },
22269
22572
  props.overflowGalleryPosition === 'horizontalTop' ? overflowGallery : React.createElement(React.Fragment, null),
22270
22573
  screenShareComponent ? (screenShareComponent) : (React.createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
22271
- overflowGalleryTrampoline$1(overflowGallery, props.overflowGalleryPosition))));
22574
+ overflowGalleryTrampoline$2(overflowGallery, props.overflowGalleryPosition))));
22272
22575
  };
22273
- const overflowGalleryTrampoline$1 = (gallery, galleryPosition) => {
22576
+ const overflowGalleryTrampoline$2 = (gallery, galleryPosition) => {
22274
22577
  return galleryPosition !== 'horizontalTop' ? gallery : React.createElement(React.Fragment, null);
22275
22578
  };
22276
22579
 
@@ -22362,9 +22665,9 @@ const LargeGalleryLayout = (props) => {
22362
22665
  return (React.createElement(react.Stack, { horizontal: overflowGalleryPosition === 'verticalRight', styles: rootLayoutStyle$1, tokens: videoGalleryLayoutGap },
22363
22666
  props.overflowGalleryPosition === 'horizontalTop' ? overflowGallery : React.createElement(React.Fragment, null),
22364
22667
  screenShareComponent ? (screenShareComponent) : (React.createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
22365
- overflowGalleryTrampoline(overflowGallery, props.overflowGalleryPosition)));
22668
+ overflowGalleryTrampoline$1(overflowGallery, props.overflowGalleryPosition)));
22366
22669
  };
22367
- const overflowGalleryTrampoline = (gallery, galleryPosition) => {
22670
+ const overflowGalleryTrampoline$1 = (gallery, galleryPosition) => {
22368
22671
  return galleryPosition !== 'horizontalTop' ? gallery : React.createElement(React.Fragment, null);
22369
22672
  };
22370
22673
  const calculateMaxTilesInLargeGrid = (parentWidth, parentHeight) => {
@@ -22375,6 +22678,117 @@ const calculateMaxTilesInLargeGrid = (parentWidth, parentHeight) => {
22375
22678
  : LARGE_GALLERY_PARTICIPANT_CAP;
22376
22679
  };
22377
22680
 
22681
+ // Copyright (c) Microsoft Corporation.
22682
+ // Licensed under the MIT License.
22683
+ /* @conditional-compile-remove(together-mode) */
22684
+ /* @conditional-compile-remove(together-mode) */
22685
+ /**
22686
+ * A memoized version of local screen share component. React.memo is used for a performance
22687
+ * boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.
22688
+ * https://reactjs.org/docs/react-api.html#reactmemo
22689
+ */
22690
+ const TogetherModeLayout = (props) => {
22691
+ const { remoteParticipants = [], dominantSpeakers, screenShareComponent, onRenderRemoteParticipant, styles, maxRemoteVideoStreams, parentWidth, parentHeight, overflowGalleryPosition = 'horizontalBottom', pinnedParticipantUserIds = [], togetherModeStreamComponent } = props;
22692
+ const isNarrow = parentWidth ? isNarrowWidth(parentWidth) : false;
22693
+ const isShort = parentHeight ? isShortHeight(parentHeight) : false;
22694
+ const [indexesToRender, setIndexesToRender] = React.useState([]);
22695
+ const childrenPerPage = React.useRef(4);
22696
+ const { gridParticipants, overflowGalleryParticipants } = useOrganizedParticipants({
22697
+ remoteParticipants,
22698
+ dominantSpeakers,
22699
+ maxGridParticipants: maxRemoteVideoStreams,
22700
+ isScreenShareActive: !!screenShareComponent,
22701
+ maxOverflowGalleryDominantSpeakers: screenShareComponent
22702
+ ? childrenPerPage.current - (pinnedParticipantUserIds.length % childrenPerPage.current)
22703
+ : childrenPerPage.current,
22704
+ pinnedParticipantUserIds,
22705
+ layout: 'floatingLocalVideo'
22706
+ });
22707
+ const { gridTiles, overflowGalleryTiles } = renderTiles(gridParticipants, onRenderRemoteParticipant, maxRemoteVideoStreams, indexesToRender, overflowGalleryParticipants, dominantSpeakers);
22708
+ const layerHostId = reactHooks.useId('layerhost');
22709
+ const togetherModeOverFlowGalleryTiles = React.useMemo(() => {
22710
+ let newTiles = overflowGalleryTiles;
22711
+ if (togetherModeStreamComponent) {
22712
+ if (screenShareComponent) {
22713
+ newTiles = gridTiles.concat(overflowGalleryTiles);
22714
+ }
22715
+ }
22716
+ return newTiles;
22717
+ }, [gridTiles, overflowGalleryTiles, screenShareComponent, togetherModeStreamComponent]);
22718
+ const overflowGallery = React.useMemo(() => {
22719
+ if (overflowGalleryTiles.length === 0 && !props.screenShareComponent) {
22720
+ return null;
22721
+ }
22722
+ return (React.createElement(OverflowGallery, { isShort: isShort, onFetchTilesToRender: setIndexesToRender, isNarrow: isNarrow, shouldFloatLocalVideo: false, overflowGalleryElements: togetherModeOverFlowGalleryTiles, horizontalGalleryStyles: styles === null || styles === void 0 ? void 0 : styles.horizontalGallery, verticalGalleryStyles: styles === null || styles === void 0 ? void 0 : styles.verticalGallery, overflowGalleryPosition: overflowGalleryPosition, onChildrenPerPageChange: (n) => {
22723
+ childrenPerPage.current = n;
22724
+ }, parentWidth: parentWidth }));
22725
+ }, [
22726
+ overflowGalleryTiles.length,
22727
+ props.screenShareComponent,
22728
+ isShort,
22729
+ isNarrow,
22730
+ togetherModeOverFlowGalleryTiles,
22731
+ styles === null || styles === void 0 ? void 0 : styles.horizontalGallery,
22732
+ styles === null || styles === void 0 ? void 0 : styles.verticalGallery,
22733
+ overflowGalleryPosition,
22734
+ parentWidth
22735
+ ]);
22736
+ return screenShareComponent ? (React.createElement(react.Stack, { styles: rootLayoutStyle$1 },
22737
+ React.createElement(react.LayerHost, { id: layerHostId, className: react.mergeStyles(layerHostStyle) }),
22738
+ React.createElement(react.Stack, { horizontal: overflowGalleryPosition === 'verticalRight', styles: innerLayoutStyle, tokens: videoGalleryLayoutGap },
22739
+ props.overflowGalleryPosition === 'horizontalTop' ? overflowGallery : React.createElement(React.Fragment, null),
22740
+ screenShareComponent,
22741
+ overflowGalleryTrampoline(overflowGallery, props.overflowGalleryPosition)))) : (React.createElement(react.Stack, null, props.togetherModeStreamComponent));
22742
+ };
22743
+ /* @conditional-compile-remove(together-mode) */
22744
+ const overflowGalleryTrampoline = (gallery, galleryPosition) => {
22745
+ return galleryPosition !== 'horizontalTop' ? gallery : React.createElement(React.Fragment, null);
22746
+ };
22747
+
22748
+ // Copyright (c) Microsoft Corporation.
22749
+ // Licensed under the MIT License.
22750
+ /* @conditional-compile-remove(together-mode) */
22751
+ /* @conditional-compile-remove(together-mode) */
22752
+ /**
22753
+ * A memoized version of local screen share component. React.memo is used for a performance
22754
+ * boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.
22755
+ * https://reactjs.org/docs/react-api.html#reactmemo
22756
+ */
22757
+ const TogetherModeStream = React.memo((props) => {
22758
+ var _a, _b;
22759
+ const { startTogetherModeEnabled, isTogetherModeActive, onCreateTogetherModeStreamView, onStartTogetherMode, onSetTogetherModeSceneSize, onDisposeTogetherModeStreamView, togetherModeStreams, containerWidth, containerHeight } = props;
22760
+ React.useEffect(() => {
22761
+ return () => {
22762
+ // TODO: Isolate disposing behaviors for screenShare and videoStream
22763
+ onDisposeTogetherModeStreamView && onDisposeTogetherModeStreamView();
22764
+ };
22765
+ }, [onDisposeTogetherModeStreamView]);
22766
+ // Trigger startTogetherMode only when needed
22767
+ React.useEffect(() => {
22768
+ if (startTogetherModeEnabled && !isTogetherModeActive) {
22769
+ onStartTogetherMode === null || onStartTogetherMode === void 0 ? void 0 : onStartTogetherMode();
22770
+ }
22771
+ }, [startTogetherModeEnabled, isTogetherModeActive, onStartTogetherMode]);
22772
+ // Create stream view if not already created
22773
+ React.useEffect(() => {
22774
+ var _a;
22775
+ if (!((_a = togetherModeStreams === null || togetherModeStreams === void 0 ? void 0 : togetherModeStreams.mainVideoStream) === null || _a === void 0 ? void 0 : _a.renderElement)) {
22776
+ onCreateTogetherModeStreamView === null || onCreateTogetherModeStreamView === void 0 ? void 0 : onCreateTogetherModeStreamView();
22777
+ }
22778
+ }, [(_a = togetherModeStreams === null || togetherModeStreams === void 0 ? void 0 : togetherModeStreams.mainVideoStream) === null || _a === void 0 ? void 0 : _a.renderElement, onCreateTogetherModeStreamView]);
22779
+ // Update scene size only when container dimensions change
22780
+ React.useMemo(() => {
22781
+ if (onSetTogetherModeSceneSize && containerWidth && containerHeight) {
22782
+ onSetTogetherModeSceneSize(containerWidth, containerHeight);
22783
+ }
22784
+ }, [onSetTogetherModeSceneSize, containerWidth, containerHeight]);
22785
+ const stream = (_b = props.togetherModeStreams) === null || _b === void 0 ? void 0 : _b.mainVideoStream;
22786
+ const showLoadingIndicator = !(stream && stream.isAvailable && stream.isReceiving);
22787
+ return containerWidth && containerHeight ? (React.createElement(react.Stack, { styles: togetherModeStreamRootStyle, horizontalAlign: "center", verticalAlign: "center" },
22788
+ React.createElement(StreamMedia, { videoStreamElement: (stream === null || stream === void 0 ? void 0 : stream.renderElement) || null, isMirrored: true, loadingState: showLoadingIndicator ? 'loading' : 'none' }),
22789
+ React.createElement(MeetingReactionOverlay, { reactionResources: props.reactionResources || {}, localParticipant: props.localParticipant, remoteParticipants: props.remoteParticipants, togetherModeSeatPositions: props.seatingCoordinates, overlayMode: "together-mode" }))) : (React.createElement(React.Fragment, null));
22790
+ });
22791
+
22378
22792
  // Copyright (c) Microsoft Corporation.
22379
22793
  // Licensed under the MIT License.
22380
22794
  /**
@@ -22414,6 +22828,22 @@ const MAX_PINNED_REMOTE_VIDEO_TILES$1 = 4;
22414
22828
  const VideoGallery = (props) => {
22415
22829
  var _a, _b, _c, _d;
22416
22830
  const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeLocalScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS, overflowGalleryPosition = 'horizontalBottom', localVideoTileSize = 'followDeviceOrientation', spotlightedParticipants, onStartLocalSpotlight, onStartRemoteSpotlight, onStopLocalSpotlight, onStopRemoteSpotlight, maxParticipantsToSpotlight, reactionResources, videoTilesOptions, onMuteParticipant,
22831
+ /* @conditional-compile-remove(together-mode) */
22832
+ startTogetherModeEnabled,
22833
+ /* @conditional-compile-remove(together-mode) */
22834
+ isTogetherModeActive,
22835
+ /* @conditional-compile-remove(together-mode) */
22836
+ onCreateTogetherModeStreamView,
22837
+ /* @conditional-compile-remove(together-mode) */
22838
+ onStartTogetherMode,
22839
+ /* @conditional-compile-remove(together-mode) */
22840
+ onSetTogetherModeSceneSize,
22841
+ /* @conditional-compile-remove(together-mode) */
22842
+ togetherModeStreams,
22843
+ /* @conditional-compile-remove(together-mode) */
22844
+ togetherModeSeatingCoordinates,
22845
+ /* @conditional-compile-remove(together-mode) */
22846
+ onDisposeTogetherModeStreamView,
22417
22847
  /* @conditional-compile-remove(media-access) */
22418
22848
  onForbidAudio,
22419
22849
  /* @conditional-compile-remove(media-access) */
@@ -22610,6 +23040,27 @@ const VideoGallery = (props) => {
22610
23040
  : localParticipant.isScreenSharingOn
22611
23041
  ? localScreenShareStreamComponent
22612
23042
  : undefined;
23043
+ /* @conditional-compile-remove(together-mode) */
23044
+ const togetherModeStreamComponent = React.useMemo(() => (React.createElement(TogetherModeStream, { startTogetherModeEnabled: startTogetherModeEnabled, isTogetherModeActive: isTogetherModeActive, onCreateTogetherModeStreamView: onCreateTogetherModeStreamView, onStartTogetherMode: onStartTogetherMode, onDisposeTogetherModeStreamView: onDisposeTogetherModeStreamView, onSetTogetherModeSceneSize: onSetTogetherModeSceneSize, togetherModeStreams: togetherModeStreams, seatingCoordinates: togetherModeSeatingCoordinates, localParticipant: localParticipant, remoteParticipants: remoteParticipants, reactionResources: reactionResources, screenShareComponent: screenShareComponent, containerWidth: containerWidth, containerHeight: containerHeight })), [
23045
+ startTogetherModeEnabled,
23046
+ isTogetherModeActive,
23047
+ onCreateTogetherModeStreamView,
23048
+ onStartTogetherMode,
23049
+ onDisposeTogetherModeStreamView,
23050
+ onSetTogetherModeSceneSize,
23051
+ togetherModeStreams,
23052
+ togetherModeSeatingCoordinates,
23053
+ localParticipant,
23054
+ remoteParticipants,
23055
+ reactionResources,
23056
+ screenShareComponent,
23057
+ containerWidth,
23058
+ containerHeight
23059
+ ]);
23060
+ /* @conditional-compile-remove(together-mode) */
23061
+ // Current implementation of capabilities is only based on user role.
23062
+ // This logic checks for the user role and if the user is a Teams user.
23063
+ const canSwitchToTogetherModeLayout = isTogetherModeActive || (_isIdentityMicrosoftTeamsUser(localParticipant.userId) && startTogetherModeEnabled);
22613
23064
  const layoutProps = React.useMemo(() => ({
22614
23065
  remoteParticipants,
22615
23066
  localParticipant,
@@ -22625,7 +23076,9 @@ const VideoGallery = (props) => {
22625
23076
  pinnedParticipantUserIds: pinnedParticipants,
22626
23077
  overflowGalleryPosition,
22627
23078
  localVideoTileSize,
22628
- spotlightedParticipantUserIds: spotlightedParticipants
23079
+ spotlightedParticipantUserIds: spotlightedParticipants,
23080
+ /* @conditional-compile-remove(together-mode) */
23081
+ togetherModeStreamComponent
22629
23082
  }), [
22630
23083
  remoteParticipants,
22631
23084
  localParticipant,
@@ -22642,7 +23095,9 @@ const VideoGallery = (props) => {
22642
23095
  pinnedParticipants,
22643
23096
  overflowGalleryPosition,
22644
23097
  localVideoTileSize,
22645
- spotlightedParticipants
23098
+ spotlightedParticipants,
23099
+ /* @conditional-compile-remove(together-mode) */
23100
+ togetherModeStreamComponent
22646
23101
  ]);
22647
23102
  const videoGalleryLayout = React.useMemo(() => {
22648
23103
  if (screenShareParticipant && layout === 'focusedContent') {
@@ -22658,8 +23113,19 @@ const VideoGallery = (props) => {
22658
23113
  if (layout === 'largeGallery') {
22659
23114
  return React.createElement(LargeGalleryLayout, Object.assign({}, layoutProps));
22660
23115
  }
23116
+ /* @conditional-compile-remove(together-mode) */
23117
+ // Teams users can switch to Together mode layout only if they have the capability,
23118
+ // while ACS users can do so only if Together mode is enabled.
23119
+ if (layout === 'togetherMode' && canSwitchToTogetherModeLayout) {
23120
+ return React.createElement(TogetherModeLayout, Object.assign({}, layoutProps));
23121
+ }
22661
23122
  return React.createElement(DefaultLayout, Object.assign({}, layoutProps));
22662
- }, [layout, layoutProps, screenShareParticipant]);
23123
+ }, [
23124
+ /* @conditional-compile-remove(together-mode) */ canSwitchToTogetherModeLayout,
23125
+ layout,
23126
+ layoutProps,
23127
+ screenShareParticipant
23128
+ ]);
22663
23129
  return (React.createElement("div", {
22664
23130
  // We don't assign an drawer menu host id to the VideoGallery when a drawerMenuHostId is assigned from props
22665
23131
  id: drawerMenuHostIdFromProp ? undefined : drawerMenuHostId, "data-ui-id": ids.videoGallery, ref: containerRef, className: react.mergeStyles(videoGalleryOuterDivStyle, styles === null || styles === void 0 ? void 0 : styles.root, unselectable) },
@@ -25411,7 +25877,7 @@ const _Caption = (props) => {
25411
25877
  * A component for displaying a single line of RealTimeText
25412
25878
  */
25413
25879
  const RealTimeText = (props) => {
25414
- const { displayName, userId, captionText, onRenderAvatar, isTyping } = props;
25880
+ const { displayName, userId, message, onRenderAvatar, isTyping } = props;
25415
25881
  const theme = react.useTheme();
25416
25882
  const localeStrings = useLocale$1().strings.realTimeText;
25417
25883
  const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
@@ -25435,7 +25901,7 @@ const RealTimeText = (props) => {
25435
25901
  React.createElement(react.Stack, { className: displayNameContainerClassName, horizontal: true },
25436
25902
  React.createElement(react.Text, { className: displayNameClassName }, displayName),
25437
25903
  isTyping && React.createElement(react.Text, { className: isTypingClassName(theme) }, strings === null || strings === void 0 ? void 0 : strings.isTypingText)),
25438
- React.createElement(react.Stack.Item, { className: captionClassName, dir: "auto" }, captionText))));
25904
+ React.createElement(react.Stack.Item, { className: captionClassName, dir: "auto" }, message))));
25439
25905
  };
25440
25906
 
25441
25907
  // Copyright (c) Microsoft Corporation.
@@ -25601,6 +26067,31 @@ const _RTTDisclosureBanner = (props) => {
25601
26067
  }, onClickLink: props.onClickLink, styles: { root: rttContainerStyles(theme) } }));
25602
26068
  };
25603
26069
 
26070
+ /* @conditional-compile-remove(rtt) */
26071
+ /**
26072
+ * Sorts the captions and real time texts based on their timestamp.
26073
+ *
26074
+ * @private
26075
+ */
26076
+ function sortCaptionsAndRealTimeTexts(captions, realTimeTexts) {
26077
+ const combinedList = [
26078
+ ...(Array.isArray(captions) ? captions.map((caption) => (Object.assign({}, caption))) : []),
26079
+ ...(realTimeTexts ? realTimeTexts.map((realTimeText) => (Object.assign({}, realTimeText))) : [])
26080
+ ];
26081
+ // Sort the combined list by comparing caption's timestamp with realTimeText's updatedTimestamp
26082
+ combinedList.sort((a, b) => {
26083
+ var _a, _b;
26084
+ const timestampA = 'captionText' in a
26085
+ ? new Date((_a = a.createdTimeStamp) !== null && _a !== void 0 ? _a : 0).getTime()
26086
+ : new Date(a.finalizedTimeStamp).getTime();
26087
+ const timestampB = 'captionText' in b
26088
+ ? new Date((_b = b.createdTimeStamp) !== null && _b !== void 0 ? _b : 0).getTime()
26089
+ : new Date(b.finalizedTimeStamp).getTime();
26090
+ return timestampA - timestampB;
26091
+ });
26092
+ return combinedList;
26093
+ }
26094
+
25604
26095
  // Copyright (c) Microsoft Corporation.
25605
26096
  // Licensed under the MIT License.
25606
26097
  const SCROLL_OFFSET_ALLOWANCE = 20;
@@ -25610,7 +26101,9 @@ const SCROLL_OFFSET_ALLOWANCE = 20;
25610
26101
  */
25611
26102
  const CaptionsBanner = (props) => {
25612
26103
  var _a, _b, _c;
25613
- const { captions, isCaptionsOn, startCaptionsInProgress, onRenderAvatar, formFactor = 'default', captionsOptions,
26104
+ const { captions,
26105
+ /* @conditional-compile-remove(rtt) */
26106
+ realTimeTexts, isCaptionsOn, startCaptionsInProgress, onRenderAvatar, formFactor = 'default', captionsOptions,
25614
26107
  /* @conditional-compile-remove(rtt) */
25615
26108
  isRealTimeTextOn,
25616
26109
  /* @conditional-compile-remove(rtt) */
@@ -25622,6 +26115,18 @@ const CaptionsBanner = (props) => {
25622
26115
  const captionsScrollDivRef = React.useRef(null);
25623
26116
  const [isAtBottomOfScroll, setIsAtBottomOfScroll] = React.useState(true);
25624
26117
  const theme = react.useTheme();
26118
+ /* @conditional-compile-remove(rtt) */
26119
+ // merge realtimetexts and captions into one array based on timestamp
26120
+ // Combine captions and realTimeTexts into one list
26121
+ const combinedList = React.useMemo(() => {
26122
+ var _a;
26123
+ return sortCaptionsAndRealTimeTexts(captions, (_a = realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages) !== null && _a !== void 0 ? _a : []);
26124
+ }, [captions, realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages]);
26125
+ /* @conditional-compile-remove(rtt) */
26126
+ const mergedCaptions = React.useMemo(() => {
26127
+ var _a;
26128
+ return [...combinedList, ...((_a = realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.currentInProgress) !== null && _a !== void 0 ? _a : []), realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.myInProgress];
26129
+ }, [combinedList, realTimeTexts]);
25625
26130
  const scrollToBottom = () => {
25626
26131
  if (captionsScrollDivRef.current) {
25627
26132
  captionsScrollDivRef.current.scrollTop = captionsScrollDivRef.current.scrollHeight;
@@ -25653,7 +26158,7 @@ const CaptionsBanner = (props) => {
25653
26158
  /* @conditional-compile-remove(rtt) */
25654
26159
  React.useEffect(() => {
25655
26160
  // if the latest real time text sent by myself is final, clear the text field
25656
- if (latestLocalRealTimeText && !latestLocalRealTimeText.isPartial) {
26161
+ if (latestLocalRealTimeText && !latestLocalRealTimeText.isTyping) {
25657
26162
  setTextFieldValue('');
25658
26163
  }
25659
26164
  }, [latestLocalRealTimeText]);
@@ -25673,22 +26178,29 @@ const CaptionsBanner = (props) => {
25673
26178
  bannerContent: (_b = strings.realTimeTextBannerContent) !== null && _b !== void 0 ? _b : '',
25674
26179
  bannerLinkLabel: (_c = strings.realTimeTextBannerLinkLabel) !== null && _c !== void 0 ? _c : ''
25675
26180
  };
26181
+ const captionsTrampoline = () => {
26182
+ /* @conditional-compile-remove(rtt) */
26183
+ return (React.createElement(React.Fragment, null, mergedCaptions.map((caption) => {
26184
+ if (caption) {
26185
+ if ('message' in caption) {
26186
+ return (React.createElement("li", { key: `RealTimeText - ${caption.id}`, className: captionContainerClassName, "data-is-focusable": true },
26187
+ React.createElement(RealTimeText, Object.assign({}, caption))));
26188
+ }
26189
+ return (React.createElement("li", { key: `Captions - ${caption.id}`, className: captionContainerClassName, "data-is-focusable": true },
26190
+ React.createElement(_Caption, Object.assign({}, caption, { onRenderAvatar: onRenderAvatar }))));
26191
+ }
26192
+ return React.createElement(React.Fragment, null);
26193
+ })));
26194
+ };
25676
26195
  return (React.createElement(React.Fragment, null, (startCaptionsInProgress || /* @conditional-compile-remove(rtt) */ isRealTimeTextOn) && (React.createElement(react.FocusZone, { shouldFocusOnMount: true, className: captionsContainerClassName, "data-ui-id": "captions-banner" },
25677
- /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && (React.createElement(_RTTDisclosureBanner, { strings: realTimeTextDisclosureBannerStrings })),
26196
+ /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && (React.createElement("div", { style: { paddingTop: '0.5rem' } },
26197
+ React.createElement(_RTTDisclosureBanner, { strings: realTimeTextDisclosureBannerStrings }))),
25678
26198
  (isCaptionsOn || /* @conditional-compile-remove(rtt) */ isRealTimeTextOn) && (React.createElement("ul", { ref: captionsScrollDivRef, className: (captionsOptions === null || captionsOptions === void 0 ? void 0 : captionsOptions.height) === 'full'
25679
26199
  ? captionsBannerFullHeightClassName(theme)
25680
- : captionsBannerClassName(formFactor), "data-ui-id": "captions-banner-inner" }, captions.map((caption) => {
25681
- /* @conditional-compile-remove(rtt) */
25682
- if (caption.isRealTimeText) {
25683
- return (React.createElement("li", { key: caption.id, className: captionContainerClassName, "data-is-focusable": true },
25684
- React.createElement(RealTimeText, Object.assign({}, caption, { isTyping: caption.isPartial, onRenderAvatar: onRenderAvatar }))));
25685
- }
25686
- return (React.createElement("li", { key: caption.id, className: captionContainerClassName, "data-is-focusable": true },
25687
- React.createElement(_Caption, Object.assign({}, caption, { onRenderAvatar: onRenderAvatar }))));
25688
- }))),
26200
+ : captionsBannerClassName(formFactor), "data-ui-id": "captions-banner-inner" }, captionsTrampoline())),
25689
26201
  /* @conditional-compile-remove(rtt) */ isRealTimeTextOn && onSendRealTimeText && (React.createElement(react.TextField, { label: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
25690
26202
  setTextFieldValue(newValue || '');
25691
- onSendRealTimeText(newValue || '');
26203
+ onSendRealTimeText(newValue || '', false);
25692
26204
  } })),
25693
26205
  !isCaptionsOn && /* @conditional-compile-remove(rtt) */ !isRealTimeTextOn && (React.createElement(react.Stack, { verticalAlign: "center", styles: (captionsOptions === null || captionsOptions === void 0 ? void 0 : captionsOptions.height) === 'full'
25694
26206
  ? loadingBannerFullHeightStyles(theme)
@@ -30375,7 +30887,7 @@ const isChatError = (e) => {
30375
30887
  return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
30376
30888
  };
30377
30889
 
30378
- var call$n={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",videoEffectsPaneAriaLabel:"Video effects pane",configurationPageCameraIsLoadingLabel:"Video is loading...",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this language.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",realTimeTextLabel:"Real-time text (RTT)",startRealTimeTextLabel:"Turn on RTT for this call",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real-time",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",moreButtonTogetherModeLayoutLabel:"Together mode",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel",closeSpotlightPromptButtonLabel:"Close"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin for me",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin",forbidAudioMenuLabel:"Disable mic",permitAudioMenuLabel:"Allow mic",forbidOthersAudioDialogTitle:"Disable mic for attendees?",forbidOthersAudioDialogContent:"Attendees won’t be able to unmute themselves. The organizer and presenters can let people unmute as needed.",forbidOthersAudioConfirmButtonLabel:"Disable mics",forbidOthersAudioCancelButtonLabel:"Cancel",permitOthersAudioDialogTitle:"Allow mic for attendees?",permitOthersAudioDialogContent:"Everyone in the meeting will be able to unmute themselves.",permitOthersAudioConfirmButtonLabel:"Allow mics",permitOthersAudioCancelButtonLabel:"Cancel",forbidOthersAudioMenuLabel:"Disable mic for attendees",permitOthersAudioMenuLabel:"Allow mic for attendees",forbidVideoMenuLabel:"Disable camera",permitVideoMenuLabel:"Allow camera",forbidOthersVideoDialogTitle:"Disable camera for attendees?",forbidOthersVideoDialogContent:"Attendees won’t be able to turn on video themselves. The organizer and presenters can let people turn on camera as needed.",forbidOthersVideoConfirmButtonLabel:"Disable cameras",forbidOthersVideoCancelButtonLabel:"Cancel",permitOthersVideoDialogTitle:"Allow camera for attendees?",permitOthersVideoDialogContent:"Everyone in the meeting will be able to turn on video themselves.",permitOthersVideoConfirmButtonLabel:"Allow cameras",permitOthersVideoCancelButtonLabel:"Cancel",forbidOthersVideoMenuLabel:"Disable camera for attendees",permitOthersVideoMenuLabel:"Allow camera for attendees"};var chat$n={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$n={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading..."};var en_US = {call:call$n,chat:chat$n,callWithChat:callWithChat$n};
30890
+ var call$n={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",videoEffectsPaneAriaLabel:"Video effects pane",configurationPageCameraIsLoadingLabel:"Video is loading...",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this language.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",realTimeTextLabel:"Real-time text (RTT)",startRealTimeTextLabel:"Turn on RTT for this call",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real-time",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",moreButtonTogetherModeLayoutLabel:"Together mode",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel",closeSpotlightPromptButtonLabel:"Close"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin for me",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin",forbidAudioMenuLabel:"Disable mic",permitAudioMenuLabel:"Allow mic",forbidOthersAudioDialogTitle:"Disable mic for attendees?",forbidOthersAudioDialogContent:"Attendees won’t be able to unmute themselves. The organizer and presenters can let people unmute as needed.",forbidOthersAudioConfirmButtonLabel:"Disable mics",forbidOthersAudioCancelButtonLabel:"Cancel",permitOthersAudioDialogTitle:"Allow mic for attendees?",permitOthersAudioDialogContent:"Everyone in the meeting will be able to unmute themselves.",permitOthersAudioConfirmButtonLabel:"Allow mics",permitOthersAudioCancelButtonLabel:"Cancel",forbidOthersAudioMenuLabel:"Disable mic for attendees",permitOthersAudioMenuLabel:"Allow mic for attendees",forbidVideoMenuLabel:"Disable camera",permitVideoMenuLabel:"Allow camera",forbidOthersVideoDialogTitle:"Disable camera for attendees?",forbidOthersVideoDialogContent:"Attendees won’t be able to turn on video themselves. The organizer and presenters can let people turn on camera as needed.",forbidOthersVideoConfirmButtonLabel:"Disable cameras",forbidOthersVideoCancelButtonLabel:"Cancel",permitOthersVideoDialogTitle:"Allow camera for attendees?",permitOthersVideoDialogContent:"Everyone in the meeting will be able to turn on video themselves.",permitOthersVideoConfirmButtonLabel:"Allow cameras",permitOthersVideoCancelButtonLabel:"Cancel",forbidOthersVideoMenuLabel:"Disable camera for attendees",permitOthersVideoMenuLabel:"Allow camera for attendees"};var chat$n={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$n={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading..."};var en_US = {call:call$n,chat:chat$n,callWithChat:callWithChat$n};
30379
30891
 
30380
30892
  // Copyright (c) Microsoft Corporation.
30381
30893
  // Licensed under the MIT License.
@@ -31315,7 +31827,7 @@ const AttachmentDownloadErrorBar = (props) => {
31315
31827
  /**
31316
31828
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
31317
31829
  */
31318
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CcLqgWsO.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
31830
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CxNd16vB.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
31319
31831
  /**
31320
31832
  * @private
31321
31833
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -31323,7 +31835,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
31323
31835
  *
31324
31836
  /* @conditional-compile-remove(rich-text-editor-composite-support)
31325
31837
  */
31326
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CcLqgWsO.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
31838
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CxNd16vB.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
31327
31839
  /**
31328
31840
  * @private
31329
31841
  */
@@ -46596,4 +47108,4 @@ exports.useTeamsCall = useTeamsCall;
46596
47108
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
46597
47109
  exports.useTeamsCallAgent = useTeamsCallAgent;
46598
47110
  exports.useTheme = useTheme;
46599
- //# sourceMappingURL=index-CuxcFFWR.js.map
47111
+ //# sourceMappingURL=index-DwZL8eqF.js.map