@azure/communication-react 1.28.0-alpha-202506060018 → 1.28.0-alpha-202506110019

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 (43) hide show
  1. package/dist/communication-react.d.ts +7 -1
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Bw7J3RuW.js → ChatMessageComponentAsRichTextEditBox-0CJ2pkhy.js} +8 -9
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-0CJ2pkhy.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-B8Z4lRZE.js → RichTextSendBoxWrapper-8-rNMb_Z.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-B8Z4lRZE.js.map → RichTextSendBoxWrapper-8-rNMb_Z.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-DAvfOWzU.js → index-NXI7aNBc.js} +127 -39
  7. package/dist/dist-cjs/communication-react/index-NXI7aNBc.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +2 -1
  12. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +5 -2
  14. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  15. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +4 -0
  16. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +36 -1
  17. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  18. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +9 -6
  19. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  20. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +7 -9
  21. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  22. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +3 -1
  23. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +1 -1
  25. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +1 -1
  27. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +6 -6
  28. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +4 -0
  30. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +13 -0
  31. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +4 -0
  33. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +12 -0
  34. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  35. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -0
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +12 -9
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  39. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +30 -9
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-Bw7J3RuW.js.map +0 -1
  43. package/dist/dist-cjs/communication-react/index-DAvfOWzU.js.map +0 -1
@@ -187,7 +187,7 @@ function getDefaultExportFromCjs (x) {
187
187
  // Copyright (c) Microsoft Corporation.
188
188
  // Licensed under the MIT License.
189
189
  // GENERATED FILE. DO NOT EDIT MANUALLY.
190
- var telemetryVersion = '1.28.0-alpha-202506060018';
190
+ var telemetryVersion = '1.28.0-alpha-202506110019';
191
191
 
192
192
 
193
193
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -2014,7 +2014,8 @@ const captionsBannerSelector = reselect__namespace.createSelector([
2014
2014
  displayName: finalDisplayName !== null && finalDisplayName !== void 0 ? finalDisplayName : 'Unnamed Participant',
2015
2015
  captionText: c.captionText,
2016
2016
  userId,
2017
- createdTimeStamp: c.timestamp
2017
+ createdTimeStamp: c.timestamp,
2018
+ isFinalized: c.resultType === 'Final'
2018
2019
  };
2019
2020
  });
2020
2021
  const completedRealTimeTexts = (_a = realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages) === null || _a === void 0 ? void 0 : _a.filter((rtt) => rtt.message !== '').map((rtt) => {
@@ -2220,8 +2221,11 @@ class ProxyDeviceManager {
2220
2221
  navigator.permissions.query({ name: 'camera' }),
2221
2222
  navigator.permissions.query({ name: 'microphone' })
2222
2223
  ]);
2223
- hasCameraPermission = cameraPermissions.state === 'granted';
2224
- hasMicPermission = micPermissions.state === 'granted';
2224
+ // Use logical OR to combine the SDK state with the Permissions API state.
2225
+ // This way we can get a more accurate picture of the device permission state.
2226
+ // If the SDK state is 'granted', we don't need to check the Permissions API state.
2227
+ hasCameraPermission || (hasCameraPermission = cameraPermissions.state === 'granted');
2228
+ hasMicPermission || (hasMicPermission = micPermissions.state === 'granted');
2225
2229
  }
2226
2230
  catch (e) {
2227
2231
  console.info('Permissions API is not supported by browser', e);
@@ -7562,7 +7566,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
7562
7566
  wordBreak: 'break-word'
7563
7567
  });
7564
7568
 
7565
- var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var realTimeTextModal$n={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$n={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$n={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText$n={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton$n={label:"Turn on RTT for this call",tooltipOffContent:"Turn on RTT for this call"};var messageThread$n={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$n={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$n={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomClosed:{title:"Your breakout room has closed",message:"We'll move you back to your meeting in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"},transcriptionError:{title:"Something went wrong with transcription.",message:"Transcription has stopped. please try again later",dismissButtonAriaLabel:"Close"},transcriptionStartedByYou:{title:"Transcription has started.",message:"Started by you. Let everyone know they are being transcribed.",dismissButtonAriaLabel:"Close"}};var videoGallery$n={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$n={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$n={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$n={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$n={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$n={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$n={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$n={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$o={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal$n,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText$n,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton$n,messageThread:messageThread$n,errorBar:errorBar$n,notificationStack:notificationStack$n,videoGallery:videoGallery$n,dialpad:dialpad$n,holdButton:holdButton$n,videoTile:videoTile$n,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$n,CameraSitePermissionsRequest:CameraSitePermissionsRequest$n,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$n,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$n,CameraSitePermissionsCheck:CameraSitePermissionsCheck$n,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$n,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$n,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$n,CameraSitePermissionsDenied:CameraSitePermissionsDenied$n,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$n,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$n,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$n,UnsupportedBrowser:UnsupportedBrowser$o,UnsupportedBrowserVersion:UnsupportedBrowserVersion$o,UnsupportedOperatingSystem:UnsupportedOperatingSystem$o,BrowserPermissionDenied:BrowserPermissionDenied$n,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$n,verticalGallery:verticalGallery$n,meetingConferencePhoneInfo:meetingConferencePhoneInfo$n,IncomingCallNotification:IncomingCallNotification$o};
7569
+ var participantItem$n={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",handRaisedIconLabel:"Hand raised - Position {position}",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",participantItemAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}",participantItemWithMoreOptionsAriaLabel:"{displayName}, {handRaisedState}, {mutedState}, {micDisabledState}, {cameraDisabledState}, {sharingState}, {connectionState}, More Options",attendeeRole:"Attendee",micDisabledIconLabel:"Micophone disabled",cameraDisabledIconLabel:"Camera disabled"};var ParticipantList$o={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$n={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$n={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarAriaLabel:"Message Formatting Toolbar",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var realTimeTextModal$n={realTimeTextModalAriaLabel:"Turn on RTT Modal",realTimeTextModalTitle:"Turn on RTT?",realTimeTextModalText:"Real-time text (RTT) will be turned on for everyone in the meeting.",realTimeTextConfirmButtonLabel:"Turn on",realTimeTextCancelButtonLabel:"Cancel",realTimeTextCloseModalButtonAriaLabel:"Close RTT Modal"};var captionsBanner$n={captionsBannerSpinnerText:"Starting captions...",realTimeTextInputBoxDefaultText:"Type message in real time",realTimeTextInputErrorMessage:"Message can not exceed 2000 characters",realTimeTextBannerTitle:"RTT",realTimeTextBannerContent:"RTT (real-time text) is enabled for all participants for the entire duration of the meeting.",realTimeTextBannerLinkLabel:"Learn more",captionsOnlyContainerTitle:"Captions",realTimeTextOnlyContainerTitle:"Real-Time Text",captionsAndRealTimeTextContainerTitle:"Captions and Real-Time Text",expandButtonAriaLabel:"Expand",minimizeButtonAriaLabel:"Collapse"};var mentionPopover$n={mentionPopoverHeader:"Suggestions"};var imageOverlay$n={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close",overlayVisibleMessage:"Image Details Overlay"};var messageStatusIndicator$n={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$n={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$n={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera",offSplitButtonAriaLabel:"Turn on camera",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects",cameraButtonAriaDescription:"camera options"};var microphoneButton$n={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute mic",offSplitButtonAriaLabel:"Unmute mic",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute mic",onSplitButtonMicrophonePrimaryAction:"Mute mic",microphonePrimaryActionSplitButtonTitle:"Use microphone",microphoneAriaDescription:"Audio options",deepNoiseSuppressionTitle:"Noise suppression",deepNoiseSuppressionOnAnnouncement:"Deep noise suppression has been turned on",deepNoiseSuppressionOffAnnouncement:"Deep noise suppression has been turned off"};var devicesButton$n={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$n={label:"People",ariaLabel:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$n={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$n={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$n={label:"React",ariaLabel:"React",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var realTimeText$n={isTypingText:"RTT typing"};var captionsSettingsModal$n={captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting"};var spokenLanguages$n={"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"};var captionLanguages$n={ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"};var startCaptionsButton$n={onLabel:"Turn on captions",offLabel:"Turn off captions",tooltipOnContent:"Turn off captions",tooltipOffContent:"Turn on captions"};var startRealTimeTextButton$n={label:"Turn on RTT for this call",tooltipOffContent:"Turn on RTT for this call"};var messageThread$n={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"Message from {author}",editedMessageLiveAuthorIntro:"Edited message from {author}",editedMessageLocalUserLiveAuthorIntro:"Edited message",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxEmptyWarningText:"Please type a message to continue",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};var errorBar$n={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$n={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpened:{title:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomChanged:{title:"Your breakout room has changed",message:"We'll move you to your assigned room in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomClosed:{title:"Your breakout room has closed",message:"We'll move you back to your meeting in 5 seconds.",dismissButtonAriaLabel:"Close"},assignedBreakoutRoomOpenedPromptJoin:{title:"Join breakout room?",message:"You've been assigned to a breakout room.",dismissButtonAriaLabel:"Close",primaryButtonLabel:"Join room",secondaryButtonLabel:"Later"},breakoutRoomJoined:{title:"You have joined a breakout room.",dismissButtonAriaLabel:"Close"},breakoutRoomClosingSoon:{title:"Room time limit about to expire.",message:"This room will close in 30 seconds",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnPresent:{title:"Your camera has been enabled",message:"Turn it on if you'd like to share video.",dismissButtonAriaLabel:"Close"},capabilityTurnVideoOnAbsent:{title:"Your camera has been disabled",message:"You can no longer share video.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicPresent:{title:"Your mic has been enabled",message:"Unmute if you'd like to speak.",dismissButtonAriaLabel:"Close"},capabilityUnmuteMicAbsent:{title:"Your mic has been disabled",message:"You can no longer unmute.",dismissButtonAriaLabel:"Close"},togetherModeStarted:{title:"Togethermode has started",dismissButtonAriaLabel:"Close"},togetherModeEnded:{title:"Togethermode has ended",dismissButtonAriaLabel:"Close"},transcriptionError:{title:"Something went wrong with transcription.",message:"Transcription has stopped. please try again later",dismissButtonAriaLabel:"Close"},transcriptionStartedByYou:{title:"Transcription has started.",message:"Started by you. Let everyone know they are being transcribed.",dismissButtonAriaLabel:"Close"}};var videoGallery$n={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute",waitingScreenText:"Waiting for others to join",forbidAudio:"Disable mic",permitAudio:"Allow mic",forbidAudioTileMenuLabel:"Disable mic",permitAudioTileMenuLabel:"Allow mic",forbidVideo:"Disable camera",permitVideo:"Allow camera",forbidVideoTileMenuLabel:"Disable camera",permitVideoTileMenuLabel:"Allow camera"};var dialpad$n={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$n={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$n={participantStateRinging:"Calling...",participantReconnecting:"Reconnecting...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options {displayName} {isMuted} {micDisabledState} {cameraDisabledState} {isHandRaised} {state} {isSpeaking}",moreOptionsParticipantMutedStateMutedAriaLabel:"muted",moreOptionsParticipantMutedStateUnmutedAriaLabel:"unmuted",moreOptionsParticipantHandRaisedAriaLabel:"Hand raised",moreOptionsParticipantIsSpeakingAriaLabel:"Speaking",moreOptionsParticipantMicDisabledAriaLabel:"Microphone disabled",moreOptionsParticipantCameraDisabledAriaLabel:"Camera disabled"};var CameraAndMicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$n={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$n={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$n={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$n={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$n={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$n={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$n={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$n={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$n={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$n={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$o={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$o={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$o={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$n={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$n={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$n={leftNavButtonAriaLabel:"previous page {current} of {total}",rightNavButtonAriaLabel:"next page {current} of {total}"};var meetingConferencePhoneInfo$n={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$o={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video",incomingCallNotificationDismissButtonAriaLabel:"Dismiss"};var en_US$1 = {participantItem:participantItem$n,ParticipantList:ParticipantList$o,typingIndicator:typingIndicator$n,sendBox:sendBox$n,richTextSendBox:richTextSendBox$n,realTimeTextModal:realTimeTextModal$n,captionsBanner:captionsBanner$n,mentionPopover:mentionPopover$n,imageOverlay:imageOverlay$n,messageStatusIndicator:messageStatusIndicator$n,endCallButton:endCallButton$n,cameraButton:cameraButton$n,microphoneButton:microphoneButton$n,devicesButton:devicesButton$n,participantsButton:participantsButton$n,screenShareButton:screenShareButton$n,raiseHandButton:raiseHandButton$n,reactionButton:reactionButton$n,realTimeText:realTimeText$n,captionsSettingsModal:captionsSettingsModal$n,spokenLanguages:spokenLanguages$n,captionLanguages:captionLanguages$n,startCaptionsButton:startCaptionsButton$n,startRealTimeTextButton:startRealTimeTextButton$n,messageThread:messageThread$n,errorBar:errorBar$n,notificationStack:notificationStack$n,videoGallery:videoGallery$n,dialpad:dialpad$n,holdButton:holdButton$n,videoTile:videoTile$n,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$n,CameraSitePermissionsRequest:CameraSitePermissionsRequest$n,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$n,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$n,CameraSitePermissionsCheck:CameraSitePermissionsCheck$n,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$n,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$n,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$n,CameraSitePermissionsDenied:CameraSitePermissionsDenied$n,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$n,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$n,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$n,UnsupportedBrowser:UnsupportedBrowser$o,UnsupportedBrowserVersion:UnsupportedBrowserVersion$o,UnsupportedOperatingSystem:UnsupportedOperatingSystem$o,BrowserPermissionDenied:BrowserPermissionDenied$n,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$n,verticalGallery:verticalGallery$n,meetingConferencePhoneInfo:meetingConferencePhoneInfo$n,IncomingCallNotification:IncomingCallNotification$o};
7566
7570
 
7567
7571
  // Copyright (c) Microsoft Corporation.
7568
7572
  // Licensed under the MIT License.
@@ -14013,7 +14017,7 @@ const RichTextSendBoxErrors = (props) => {
14013
14017
  /* @conditional-compile-remove(file-sharing-acs) */
14014
14018
  attachmentProgressError,
14015
14019
  /* @conditional-compile-remove(file-sharing-acs) */
14016
- attachmentUploadsPendingError, systemMessage, textTooLongMessage } = props;
14020
+ attachmentUploadsPendingError, systemMessage, textValidationErrorMessage } = props;
14017
14021
  const [sendBoxError, setSendBoxError] = React.useState(undefined);
14018
14022
  React.useEffect(() => {
14019
14023
  if (systemMessage && !isMessageEmpty$1(systemMessage)) {
@@ -14021,16 +14025,16 @@ const RichTextSendBoxErrors = (props) => {
14021
14025
  }
14022
14026
  }, [systemMessage]);
14023
14027
  React.useEffect(() => {
14024
- if (textTooLongMessage && !isMessageEmpty$1(textTooLongMessage)) {
14025
- setSendBoxError({ message: textTooLongMessage, timestamp: Date.now() });
14028
+ if (textValidationErrorMessage && !isMessageEmpty$1(textValidationErrorMessage)) {
14029
+ setSendBoxError({ message: textValidationErrorMessage, timestamp: Date.now() });
14026
14030
  }
14027
- }, [textTooLongMessage]);
14031
+ }, [textValidationErrorMessage]);
14028
14032
  React.useEffect(() => {
14029
- if ((textTooLongMessage === undefined || isMessageEmpty$1(textTooLongMessage)) &&
14033
+ if ((textValidationErrorMessage === undefined || isMessageEmpty$1(textValidationErrorMessage)) &&
14030
14034
  (systemMessage === undefined || isMessageEmpty$1(systemMessage))) {
14031
14035
  setSendBoxError(undefined);
14032
14036
  }
14033
- }, [systemMessage, textTooLongMessage]);
14037
+ }, [systemMessage, textValidationErrorMessage]);
14034
14038
  React.useEffect(() => {
14035
14039
  setSendBoxError((prev) => {
14036
14040
  const errors = [];
@@ -14298,7 +14302,7 @@ const RichTextSendBox = (props) => {
14298
14302
  }
14299
14303
  : undefined,
14300
14304
  systemMessage: systemMessage,
14301
- textTooLongMessage: contentTooLongMessage
14305
+ textValidationErrorMessage: contentTooLongMessage
14302
14306
  };
14303
14307
  }, [
14304
14308
  /* @conditional-compile-remove(file-sharing-acs) */
@@ -14937,6 +14941,16 @@ function getMessageState(messageText,
14937
14941
  ? 'too long'
14938
14942
  : 'OK';
14939
14943
  }
14944
+ /**
14945
+ * @private
14946
+ */
14947
+ const getTextValidationErrorMessage = (messageState, tooLongString, tooShortString, imageOverflow = false) => {
14948
+ return messageState === 'too long' || imageOverflow
14949
+ ? _formatString(tooLongString, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })
14950
+ : messageState === 'too short'
14951
+ ? tooShortString
14952
+ : undefined;
14953
+ };
14940
14954
  /* @conditional-compile-remove(file-sharing-acs) */
14941
14955
  /**
14942
14956
  * @private
@@ -16286,9 +16300,13 @@ const ChatMessageComponentAsEditBox = (props) => {
16286
16300
  const setText = (event, newValue) => {
16287
16301
  setTextValue(newValue !== null && newValue !== void 0 ? newValue : '');
16288
16302
  };
16289
- const textTooLongMessage = messageState === 'too long'
16290
- ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })
16291
- : undefined;
16303
+ const textValidationErrorMessage = React.useMemo(() => {
16304
+ return getTextValidationErrorMessage(messageState, strings.editBoxTextLimit, strings.editBoxEmptyWarningText);
16305
+ }, [
16306
+ messageState,
16307
+ strings.editBoxTextLimit,
16308
+ strings.editBoxEmptyWarningText,
16309
+ ]);
16292
16310
  const iconClassName = React.useCallback((isHover) => {
16293
16311
  const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;
16294
16312
  return react.mergeStyles(inputBoxIcon, { color });
@@ -16328,7 +16346,7 @@ const ChatMessageComponentAsEditBox = (props) => {
16328
16346
  onSubmit(textValue,
16329
16347
  /* @conditional-compile-remove(file-sharing-acs) */
16330
16348
  attachmentMetadata);
16331
- }, supportNewline: false, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, errorMessage: textTooLongMessage, styles: editBoxStyles,
16349
+ }, supportNewline: false, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, errorMessage: textValidationErrorMessage, styles: editBoxStyles,
16332
16350
  /* @conditional-compile-remove(mention) */
16333
16351
  mentionLookupOptions: mentionLookupOptions }),
16334
16352
  React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: editChatMessageButtonsStackStyle, tokens: { childrenGap: '0.25rem' } },
@@ -16391,7 +16409,7 @@ class _ErrorBoundary extends React.Component {
16391
16409
  // Copyright (c) Microsoft Corporation.
16392
16410
  // Licensed under the MIT License.
16393
16411
  /* @conditional-compile-remove(rich-text-editor) */
16394
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Bw7J3RuW.js'); }));
16412
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-0CJ2pkhy.js'); }));
16395
16413
  /**
16396
16414
  * @private
16397
16415
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -16399,7 +16417,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
16399
16417
  *
16400
16418
  * @conditional-compile-remove(rich-text-editor)
16401
16419
  */
16402
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Bw7J3RuW.js'); });
16420
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-0CJ2pkhy.js'); });
16403
16421
  /**
16404
16422
  * @private
16405
16423
  */
@@ -25941,6 +25959,19 @@ const captionsContainerClassName = react.mergeStyles({
25941
25959
  padding: 0,
25942
25960
  overflowX: 'hidden'
25943
25961
  });
25962
+ /**
25963
+ * @private
25964
+ */
25965
+ const hiddenAnnouncementClassName = react.mergeStyles({
25966
+ position: 'absolute',
25967
+ width: '1px',
25968
+ height: '1px',
25969
+ padding: 0,
25970
+ overflow: 'hidden',
25971
+ clip: 'rect(0, 0, 0, 0)',
25972
+ whiteSpace: 'nowrap',
25973
+ border: 0
25974
+ });
25944
25975
  /**
25945
25976
  * @private
25946
25977
  */
@@ -26378,6 +26409,10 @@ const CaptionsBanner = (props) => {
26378
26409
  const [isAtBottomOfScroll, setIsAtBottomOfScroll] = React.useState(true);
26379
26410
  const theme = react.useTheme();
26380
26411
  const [expandBannerHeight, setExpandBannerHeight] = React.useState(false);
26412
+ const [announcedRTT, setAnnouncedRTT] = React.useState([]);
26413
+ const [announcedCaption, setAnnouncedCaption] = React.useState([]);
26414
+ const [captionAnnouncementText, setCaptionAnnouncementText] = React.useState([]);
26415
+ const [rttAnnouncementText, setRTTAnnouncementText] = React.useState([]);
26381
26416
  const getTitle = () => {
26382
26417
  var _a, _b, _c;
26383
26418
  if (isCaptionsOn && isRealTimeTextOn) {
@@ -26434,6 +26469,24 @@ const CaptionsBanner = (props) => {
26434
26469
  setTextFieldValue('');
26435
26470
  }
26436
26471
  }, [latestLocalRealTimeText]);
26472
+ React.useEffect(() => {
26473
+ if (realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages) {
26474
+ //filter out the messages that have already been announced
26475
+ const rTTMessagesToAnnounce = realTimeTexts.completedMessages.filter((message) => !announcedRTT.includes(message.id));
26476
+ if (rTTMessagesToAnnounce.length > 0) {
26477
+ setRTTAnnouncementText(rTTMessagesToAnnounce);
26478
+ setAnnouncedRTT((prev) => [...prev, ...rTTMessagesToAnnounce.map((message) => message.id)]);
26479
+ }
26480
+ }
26481
+ if (captions.length > 0) {
26482
+ // filter out the captions that have already been announced
26483
+ const captionsToAnnounce = captions.filter((caption) => !announcedCaption.includes(caption.id) && caption.isFinalized);
26484
+ if (captionsToAnnounce.length > 0) {
26485
+ setCaptionAnnouncementText(captionsToAnnounce);
26486
+ setAnnouncedCaption((prev) => [...prev, ...captionsToAnnounce.map((caption) => caption.id)]);
26487
+ }
26488
+ }
26489
+ }, [captions, realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages, announcedRTT, announcedCaption]);
26437
26490
  const handleKeyDown = (event) => {
26438
26491
  if (event.key === 'Enter') {
26439
26492
  event.preventDefault();
@@ -26461,6 +26514,19 @@ const CaptionsBanner = (props) => {
26461
26514
  })));
26462
26515
  };
26463
26516
  return (React.createElement(React.Fragment, null, (startCaptionsInProgress || isCaptionsOn || isRealTimeTextOn) && (React.createElement(react.FocusZone, { shouldFocusOnMount: true, className: captionsContainerClassName, "data-ui-id": "captions-banner" },
26517
+ (rttAnnouncementText.length > 0 || (captionAnnouncementText === null || captionAnnouncementText === void 0 ? void 0 : captionAnnouncementText.length) > 0) && (React.createElement("div", { "aria-live": "assertive", role: "alert", "aria-atomic": "true", className: hiddenAnnouncementClassName },
26518
+ React.createElement("span", null, rttAnnouncementText.map((text) => (React.createElement("span", null,
26519
+ strings.realTimeTextBannerTitle,
26520
+ " ",
26521
+ text.displayName,
26522
+ ": ",
26523
+ text.message)))),
26524
+ React.createElement("span", null, captionAnnouncementText.map((text) => (React.createElement("span", null,
26525
+ strings.captionsOnlyContainerTitle,
26526
+ " ",
26527
+ text.displayName,
26528
+ ": ",
26529
+ text.captionText)))))),
26464
26530
  (isCaptionsOn || isRealTimeTextOn) && formFactor === 'compact' && (React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: bannerTitleContainerClassName },
26465
26531
  React.createElement(react.Text, { className: titleClassName$2 }, getTitle()),
26466
26532
  React.createElement(react.IconButton, { "data-ui-id": "captions-banner-expand-icon", iconProps: { iconName: expandBannerHeight ? 'MinimizeIcon' : 'ExpandIcon' }, ariaLabel: expandBannerHeight ? strings.minimizeButtonAriaLabel : strings.expandButtonAriaLabel, onClick: () => setExpandBannerHeight(!expandBannerHeight), styles: expandIconClassName(theme) }))),
@@ -32205,7 +32271,7 @@ const AttachmentDownloadErrorBar = (props) => {
32205
32271
  /**
32206
32272
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
32207
32273
  */
32208
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-B8Z4lRZE.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
32274
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-8-rNMb_Z.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
32209
32275
  /**
32210
32276
  * @private
32211
32277
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -32213,7 +32279,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
32213
32279
  *
32214
32280
  /* @conditional-compile-remove(rich-text-editor-composite-support)
32215
32281
  */
32216
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-B8Z4lRZE.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
32282
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-8-rNMb_Z.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
32217
32283
  /**
32218
32284
  * @private
32219
32285
  */
@@ -33572,15 +33638,27 @@ const isDisabled$4 = (option) => {
33572
33638
  return option.disabled;
33573
33639
  };
33574
33640
  /* @conditional-compile-remove(call-readiness) */
33641
+ const isAndroidWebView = (environmentInfo) => {
33642
+ var _a, _b;
33643
+ const ua = navigator.userAgent || '';
33644
+ return (((_b = (_a = environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment) === null || _a === void 0 ? void 0 : _a.browser) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'chrome webview' ||
33645
+ (/Android/.test(ua) && /Version\/[\d.]+/.test(ua) && /wv/.test(ua)));
33646
+ };
33647
+ /* @conditional-compile-remove(call-readiness) */
33575
33648
  /**
33576
33649
  * @returns Permissions state for the camera.
33577
33650
  */
33578
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter$r(void 0, void 0, void 0, function* () {
33651
+ const queryCameraPermissionFromPermissionsAPI = (environmentInfo) => __awaiter$r(void 0, void 0, void 0, function* () {
33652
+ // Android WebView does not support permissions API, nor does it throw an error when trying to access it,
33653
+ // in actuality the API always returns 'prompt' which is not correct.
33654
+ if (isAndroidWebView(environmentInfo)) {
33655
+ return 'unsupported';
33656
+ }
33579
33657
  try {
33580
33658
  return (yield navigator.permissions.query({ name: 'camera' })).state;
33659
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
33581
33660
  }
33582
33661
  catch (e) {
33583
- console.info('permissions API is not supported by browser', e);
33584
33662
  return 'unsupported';
33585
33663
  }
33586
33664
  });
@@ -33588,12 +33666,17 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$r(void 0, void 0
33588
33666
  /**
33589
33667
  * @returns Permissions state for the microphone.
33590
33668
  */
33591
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$r(void 0, void 0, void 0, function* () {
33669
+ const queryMicrophonePermissionFromPermissionsAPI = (environmentInfo) => __awaiter$r(void 0, void 0, void 0, function* () {
33670
+ // Android WebView does not support permissions API, nor does it throw an error when trying to access it,
33671
+ // in actuality the API always returns 'prompt' which is not correct.
33672
+ if (isAndroidWebView(environmentInfo)) {
33673
+ return 'unsupported';
33674
+ }
33592
33675
  try {
33593
33676
  return (yield navigator.permissions.query({ name: 'microphone' })).state;
33677
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
33594
33678
  }
33595
33679
  catch (e) {
33596
- console.info('permissions API is not supported by browser', e);
33597
33680
  return 'unsupported';
33598
33681
  }
33599
33682
  });
@@ -33605,13 +33688,17 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$r(void 0, vo
33605
33688
  * If permission API is not supported on this browser, permission state is set to unsupported.
33606
33689
  * @private
33607
33690
  */
33608
- const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$r(void 0, void 0, void 0, function* () {
33691
+ const getDevicePermissionState = (environmentInfo, setVideoState, setAudioState, previousVideoState, previousAudioState) => __awaiter$r(void 0, void 0, void 0, function* () {
33609
33692
  const [cameraResult, microphoneResult] = yield Promise.all([
33610
- queryCameraPermissionFromPermissionsAPI(),
33611
- queryMicrophonePermissionFromPermissionsAPI()
33693
+ queryCameraPermissionFromPermissionsAPI(environmentInfo),
33694
+ queryMicrophonePermissionFromPermissionsAPI(environmentInfo)
33612
33695
  ]);
33613
- setVideoState(cameraResult);
33614
- setAudioState(microphoneResult);
33696
+ if (cameraResult !== previousVideoState) {
33697
+ setVideoState(cameraResult);
33698
+ }
33699
+ if (microphoneResult !== previousAudioState) {
33700
+ setAudioState(microphoneResult);
33701
+ }
33615
33702
  });
33616
33703
  /* @conditional-compile-remove(unsupported-browser) */
33617
33704
  const isUnsupportedEnvironment = (environmentInfo, unsupportedBrowserVersionOptedIn) => {
@@ -41442,13 +41529,14 @@ const ConfigurationPage = (props) => {
41442
41529
  const options = useAdaptedSelector(getSelector$1(DevicesButton));
41443
41530
  const localDeviceSettingsHandlers = useHandlers();
41444
41531
  const { video: cameraPermissionGranted, audio: microphonePermissionGranted } = useSelector$1(devicePermissionSelector);
41532
+ const environmentInfo = useSelector$1(getEnvironmentInfo);
41445
41533
  /* @conditional-compile-remove(call-readiness) */
41446
41534
  // use permission API to get video and audio permission state
41447
41535
  const [videoState, setVideoState] = React.useState(undefined);
41448
41536
  /* @conditional-compile-remove(call-readiness) */
41449
41537
  const [audioState, setAudioState] = React.useState(undefined);
41450
41538
  /* @conditional-compile-remove(call-readiness) */
41451
- getDevicePermissionState(setVideoState, setAudioState);
41539
+ getDevicePermissionState(environmentInfo, setVideoState, setAudioState, videoState, audioState);
41452
41540
  const configContainerRef = React.useRef(null);
41453
41541
  const configWidth = _useContainerWidth(configContainerRef);
41454
41542
  /**
@@ -41458,7 +41546,6 @@ const ConfigurationPage = (props) => {
41458
41546
  const stackConfig = !!configWidth && configWidth < 450;
41459
41547
  const errorBarProps = usePropsFor$1(ErrorBar);
41460
41548
  const microphones = useSelector$1(getMicrophones);
41461
- const environmentInfo = useSelector$1(getEnvironmentInfo);
41462
41549
  let disableStartCallButton = (!microphonePermissionGranted || (microphones === null || microphones === void 0 ? void 0 : microphones.length) === 0) &&
41463
41550
  joinCallOptions.microphoneCheck === 'requireMicrophoneAvailable';
41464
41551
  const role = useSelector$1(getRole);
@@ -41517,7 +41604,7 @@ const ConfigurationPage = (props) => {
41517
41604
  const callDescription = locale.strings.call.configurationPageCallDetails && (React.createElement(react.Stack.Item, { className: mobileView ? callDetailsStyleMobile(theme) : callDetailsStyleDesktop(theme) }, locale.strings.call.configurationPageCallDetails));
41518
41605
  const mobileWithPreview = mobileView && role !== 'Consumer';
41519
41606
  /* @conditional-compile-remove(call-readiness) */
41520
- const permissionsState = {
41607
+ const permissionsState = React.useMemo(() => ({
41521
41608
  // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported
41522
41609
  camera: videoState && videoState !== 'unsupported'
41523
41610
  ? cameraPermissionGranted !== false
@@ -41537,7 +41624,7 @@ const ConfigurationPage = (props) => {
41537
41624
  ? 'granted'
41538
41625
  : 'prompt'
41539
41626
  : 'denied'
41540
- };
41627
+ }), [videoState, audioState, cameraPermissionGranted, microphonePermissionGranted]);
41541
41628
  /* @conditional-compile-remove(call-readiness) */
41542
41629
  const networkErrors = errorBarProps.activeErrorMessages.filter((message) => message.type === 'callNetworkQualityLow');
41543
41630
  /* @conditional-compile-remove(call-readiness) */
@@ -41547,9 +41634,11 @@ const ConfigurationPage = (props) => {
41547
41634
  /* @conditional-compile-remove(call-readiness) */
41548
41635
  const [minimumFallbackTimerElapsed, setMinimumFallbackTimerElapsed] = React.useState(false);
41549
41636
  /* @conditional-compile-remove(call-readiness) */
41550
- setTimeout(() => {
41551
- setMinimumFallbackTimerElapsed(true);
41552
- }, 2000);
41637
+ React.useEffect(() => {
41638
+ setTimeout(() => {
41639
+ setMinimumFallbackTimerElapsed(true);
41640
+ }, 2000);
41641
+ }, []);
41553
41642
  /* @conditional-compile-remove(call-readiness) */
41554
41643
  const forceShowingCheckPermissions = !minimumFallbackTimerElapsed;
41555
41644
  const { toggleVideoEffectsPane, closeVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane(props.updateSidePaneRenderer, mobileView, props.latestErrors, props.onDismissError);
@@ -47523,7 +47612,6 @@ exports.IncomingCallNotification = IncomingCallNotification$n;
47523
47612
  exports.IncomingCallStack = IncomingCallStack;
47524
47613
  exports.InputBoxButton = InputBoxButton;
47525
47614
  exports.LocalizationProvider = LocalizationProvider$1;
47526
- exports.MAXIMUM_LENGTH_OF_MESSAGE = MAXIMUM_LENGTH_OF_MESSAGE;
47527
47615
  exports.MessageStatusIndicator = MessageStatusIndicator;
47528
47616
  exports.MessageThread = MessageThread;
47529
47617
  exports.MicrophoneButton = MicrophoneButton;
@@ -47553,7 +47641,6 @@ exports.VideoGallery = VideoGallery;
47553
47641
  exports.VideoTile = VideoTile;
47554
47642
  exports._AttachmentUploadCards = _AttachmentUploadCards;
47555
47643
  exports._IdentifierProvider = _IdentifierProvider;
47556
- exports._formatString = _formatString;
47557
47644
  exports.attachmentMetadataReducer = attachmentMetadataReducer;
47558
47645
  exports.attachmentUploadCardsStyles = attachmentUploadCardsStyles;
47559
47646
  exports.createAzureCommunicationCallAdapter = createAzureCommunicationCallAdapter;
@@ -47581,6 +47668,7 @@ exports.getMessageWithAttachmentMetadata = getMessageWithAttachmentMetadata;
47581
47668
  exports.getPreviousInlineImages = getPreviousInlineImages;
47582
47669
  exports.getSelector = getSelector$1;
47583
47670
  exports.getSelector$1 = getSelector;
47671
+ exports.getTextValidationErrorMessage = getTextValidationErrorMessage;
47584
47672
  exports.hasIncompleteAttachmentUploads = hasIncompleteAttachmentUploads;
47585
47673
  exports.imageOverlayTheme = imageOverlayTheme;
47586
47674
  exports.inlineImageIds = inlineImageIds;
@@ -47616,4 +47704,4 @@ exports.useTeamsCall = useTeamsCall;
47616
47704
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
47617
47705
  exports.useTeamsCallAgent = useTeamsCallAgent;
47618
47706
  exports.useTheme = useTheme;
47619
- //# sourceMappingURL=index-DAvfOWzU.js.map
47707
+ //# sourceMappingURL=index-NXI7aNBc.js.map