@azure/communication-react 1.3.3-alpha-202209150016.0 → 1.3.3-alpha-202209170015.0

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 (46) hide show
  1. package/dist/communication-react.d.ts +56 -1
  2. package/dist/dist-cjs/communication-react/index.js +213 -59
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/communication-react/src/index.d.ts +2 -0
  7. package/dist/dist-esm/communication-react/src/index.js +2 -0
  8. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  9. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  10. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  11. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  12. package/dist/dist-esm/react-components/src/components/index.d.ts +2 -0
  13. package/dist/dist-esm/react-components/src/components/index.js +2 -0
  14. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  15. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  16. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  17. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  18. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -0
  19. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  20. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +5 -0
  21. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  22. package/dist/dist-esm/react-components/src/theming/icons.js +36 -1
  23. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  24. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +12 -2
  25. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  26. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +16 -0
  27. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  28. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +3 -1
  30. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  31. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +16 -34
  32. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  33. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +2 -7
  34. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +3 -4
  35. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -1
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  39. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +22 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -0
  43. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -1
  44. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  45. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +4 -0
  46. package/package.json +8 -8
@@ -192,7 +192,7 @@ const fromFlatCommunicationIdentifier = (id) => {
192
192
  // Copyright (c) Microsoft Corporation.
193
193
  // Licensed under the MIT license.
194
194
  // GENERATED FILE. DO NOT EDIT MANUALLY.
195
- var telemetryVersion = '1.3.3-alpha-202209150016.0';
195
+ var telemetryVersion = '1.3.3-alpha-202209170015.0';
196
196
 
197
197
  // Copyright (c) Microsoft Corporation.
198
198
  /**
@@ -978,7 +978,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
978
978
  wordBreak: 'break-word'
979
979
  });
980
980
 
981
- var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$d={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$d={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$d={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$d={label:"Leave",tooltipContent:"Leave Call"};var cameraButton$d={onLabel:"Turn off",offLabel:"Turn on",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 and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$d={onLabel:"Mute",offLabel:"Unmute",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 microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$d={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$d={label:"People",tooltipContent:"Show Participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$d={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$d={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"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:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$d={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:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"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.",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.",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."};var videoGallery$d={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed Participant"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var DomainPermissions$1={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"More help"};var en_US$1 = {participantItem:participantItem$d,typingIndicator:typingIndicator$d,sendBox:sendBox$d,messageStatusIndicator:messageStatusIndicator$d,endCallButton:endCallButton$d,cameraButton:cameraButton$d,microphoneButton:microphoneButton$d,devicesButton:devicesButton$d,participantsButton:participantsButton$d,screenShareButton:screenShareButton$d,messageThread:messageThread$d,errorBar:errorBar$d,videoGallery:videoGallery$d,dialpad:dialpad$d,holdButton:holdButton,videoTile:videoTile,DomainPermissions:DomainPermissions$1};
981
+ var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$d={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$d={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$d={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$d={label:"Leave",tooltipContent:"Leave Call"};var cameraButton$d={onLabel:"Turn off",offLabel:"Turn on",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 and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$d={onLabel:"Mute",offLabel:"Unmute",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 microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$d={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$d={label:"People",tooltipContent:"Show Participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$d={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$d={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"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:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$d={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:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"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.",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.",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."};var videoGallery$d={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed Participant"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var DomainPermissions$1={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"More help"};var UnsupportedBrowser$1={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLink:"More help"};var en_US$1 = {participantItem:participantItem$d,typingIndicator:typingIndicator$d,sendBox:sendBox$d,messageStatusIndicator:messageStatusIndicator$d,endCallButton:endCallButton$d,cameraButton:cameraButton$d,microphoneButton:microphoneButton$d,devicesButton:devicesButton$d,participantsButton:participantsButton$d,screenShareButton:screenShareButton$d,messageThread:messageThread$d,errorBar:errorBar$d,videoGallery:videoGallery$d,dialpad:dialpad$d,holdButton:holdButton,videoTile:videoTile,DomainPermissions:DomainPermissions$1,UnsupportedBrowser:UnsupportedBrowser$1};
982
982
 
983
983
  var participantItem$c={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant"};var typingIndicator$c={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$c={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait."};var messageStatusIndicator$c={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$c={label:"Leave",tooltipContent:"Leave Call"};var cameraButton$c={onLabel:"Turn off",offLabel:"Turn on",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 and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$c={onLabel:"Mute",offLabel:"Unmute",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 microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$c={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$c={label:"People",tooltipContent:"Show Participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$c={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$c={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options"};var errorBar$c={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:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"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.",callMicrophoneMutedBySystem:"You are muted 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.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",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."};var videoGallery$c={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed Participant"};var dialpad$c={placeholderText:"Enter a number"};var HoldButton$d={onLabel:"Resume",offLabel:"Hold",toolTipOnContent:"Resume call",toolTipOffContent:"Hold call"};var en_GB$1 = {participantItem:participantItem$c,typingIndicator:typingIndicator$c,sendBox:sendBox$c,messageStatusIndicator:messageStatusIndicator$c,endCallButton:endCallButton$c,cameraButton:cameraButton$c,microphoneButton:microphoneButton$c,devicesButton:devicesButton$c,participantsButton:participantsButton$c,screenShareButton:screenShareButton$c,messageThread:messageThread$c,errorBar:errorBar$c,videoGallery:videoGallery$c,dialpad:dialpad$c,HoldButton:HoldButton$d};
984
984
 
@@ -1904,6 +1904,21 @@ const MoreHorizontal18Regular = () => (
1904
1904
  // MoreHorizontal icons are 16px x 16px or 20px x 20px so scaling to get desired size
1905
1905
  React__default['default'].createElement("div", { className: react.mergeStyles({ transform: 'scale(0.9)' }) },
1906
1906
  React__default['default'].createElement(reactIcons.MoreHorizontal20Regular, null)));
1907
+ /* @conditional-compile-remove(unsupported-browser) */
1908
+ const UnsupportedBrowserWarning = () => {
1909
+ const theme = useTheme();
1910
+ return (React__default['default'].createElement(react.Stack, { horizontalAlign: 'center', styles: {
1911
+ root: {
1912
+ width: _pxToRem(84),
1913
+ borderRadius: '100%',
1914
+ background: theme.palette.themeLighterAlt,
1915
+ padding: '2rem',
1916
+ margin: 'auto'
1917
+ }
1918
+ } },
1919
+ React__default['default'].createElement("div", { className: react.mergeStyles(scaledIconStyles(theme)) },
1920
+ React__default['default'].createElement(reactIcons.Warning20Filled, null))));
1921
+ };
1907
1922
  /**
1908
1923
  * The default set of icons that are available to use in the UI components.
1909
1924
  *
@@ -1972,7 +1987,20 @@ const DEFAULT_COMPONENT_ICONS = {
1972
1987
  /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
1973
1988
  BackSpace: React__default['default'].createElement(reactIcons.Backspace20Regular, null),
1974
1989
  /* @conditional-compile-remove(call-readiness) */
1975
- iconBackdrop: React__default['default'].createElement(reactIcons.Circle24Filled, null)
1990
+ iconBackdrop: React__default['default'].createElement(reactIcons.Circle24Filled, null),
1991
+ /* @conditional-compile-remove(unsupported-browser) */
1992
+ UnsupportedBrowserWarning: React__default['default'].createElement(UnsupportedBrowserWarning, null)
1993
+ };
1994
+ /* @conditional-compile-remove(unsupported-browser) */
1995
+ const scaledIconStyles = (theme) => {
1996
+ return {
1997
+ transform: 'scale(2)',
1998
+ display: 'flex',
1999
+ justifyContent: 'center',
2000
+ alignItems: 'center',
2001
+ color: theme.palette.themePrimary,
2002
+ zIndex: 1
2003
+ };
1976
2004
  };
1977
2005
 
1978
2006
  // Copyright (c) Microsoft Corporation.
@@ -4397,7 +4425,7 @@ const iconContainerStyle$1 = {
4397
4425
  /**
4398
4426
  * @private
4399
4427
  */
4400
- const iconStyles$3 = react.mergeStyles({
4428
+ const iconStyles$4 = react.mergeStyles({
4401
4429
  display: 'flex',
4402
4430
  lineHeight: 0,
4403
4431
  alignItems: 'center'
@@ -4443,7 +4471,7 @@ const ParticipantItem = (props) => {
4443
4471
  const contextualMenuStyle = React.useMemo(() => react.mergeStyles({ background: theme.palette.neutralLighterAlt }, styles === null || styles === void 0 ? void 0 : styles.menu), [theme.palette.neutralLighterAlt, styles === null || styles === void 0 ? void 0 : styles.menu]);
4444
4472
  const infoContainerStyle = React.useMemo(() => react.mergeStyles(iconContainerStyle$1, { color: theme.palette.neutralTertiary }, styles === null || styles === void 0 ? void 0 : styles.iconContainer), [theme.palette.neutralTertiary, styles === null || styles === void 0 ? void 0 : styles.iconContainer]);
4445
4473
  const menuButton = React.useMemo(() => (React__default['default'].createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: react.mergeStyles(menuButtonContainerStyle), title: strings.menuTitle, "data-ui-id": ids.participantItemMenuButton },
4446
- React__default['default'].createElement(react.Icon, { iconName: itemHovered ? 'ParticipantItemOptionsHovered' : 'ParticipantItemOptions', className: iconStyles$3 }))), [itemHovered, strings.menuTitle, ids.participantItemMenuButton]);
4474
+ React__default['default'].createElement(react.Icon, { iconName: itemHovered ? 'ParticipantItemOptionsHovered' : 'ParticipantItemOptions', className: iconStyles$4 }))), [itemHovered, strings.menuTitle, ids.participantItemMenuButton]);
4447
4475
  const onDismissMenu = () => {
4448
4476
  setItemHovered(false);
4449
4477
  setMenuHidden(true);
@@ -4560,7 +4588,7 @@ const participantListItemStyle = {
4560
4588
  /**
4561
4589
  * @private
4562
4590
  */
4563
- const iconStyles$2 = react.mergeStyles({
4591
+ const iconStyles$3 = react.mergeStyles({
4564
4592
  display: 'flex',
4565
4593
  lineHeight: 0,
4566
4594
  alignItems: 'center'
@@ -4581,8 +4609,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
4581
4609
  const menuItems = createParticipantMenuItems && createParticipantMenuItems(participant);
4582
4610
  const onRenderIcon = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isScreenSharing) || (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isMuted)
4583
4611
  ? () => (React__default['default'].createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.5rem' } },
4584
- callingParticipant.isScreenSharing && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
4585
- callingParticipant.isMuted && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel }))))
4612
+ callingParticipant.isScreenSharing && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$3, ariaLabel: strings.sharingIconLabel })),
4613
+ callingParticipant.isMuted && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$3, ariaLabel: strings.mutedIconLabel }))))
4586
4614
  : () => null;
4587
4615
  const displayName = !participant.displayName ? strings.displayNamePlaceholder : participant.displayName;
4588
4616
  return (React__default['default'].createElement(ParticipantItem, { styles: styles, key: participant.userId, userId: participant.userId, displayName: displayName, me: myUserId ? participant.userId === myUserId : false, menuItems: menuItems, presence: presence, onRenderIcon: onRenderIcon, onRenderAvatar: onRenderAvatar, onClick: () => onParticipantClick === null || onParticipantClick === void 0 ? void 0 : onParticipantClick(participant), showParticipantOverflowTooltip: showParticipantOverflowTooltip,
@@ -7047,7 +7075,7 @@ const primaryTextStyles = {
7047
7075
  /**
7048
7076
  * @internal
7049
7077
  */
7050
- const secondaryTextStyles$1 = {
7078
+ const secondaryTextStyles$2 = {
7051
7079
  root: {
7052
7080
  margin: 'auto',
7053
7081
  fontWeight: 400,
@@ -7057,7 +7085,7 @@ const secondaryTextStyles$1 = {
7057
7085
  /**
7058
7086
  * @internal
7059
7087
  */
7060
- const linkTextStyles = {
7088
+ const linkTextStyles$1 = {
7061
7089
  root: {
7062
7090
  margin: 'auto',
7063
7091
  fontWeight: 600,
@@ -7080,8 +7108,8 @@ const DomainPermissionsContainer = (props) => {
7080
7108
  React__default['default'].createElement(react.Icon, { styles: iconBackDropStyles, iconName: 'iconBackdrop' }))),
7081
7109
  React__default['default'].createElement(react.Stack, { styles: textContainerStyles },
7082
7110
  React__default['default'].createElement(react.Text, { styles: primaryTextStyles }, _formatString(strings.primaryText, { appName: appName })),
7083
- React__default['default'].createElement(react.Text, { styles: secondaryTextStyles$1 }, strings.secondaryText),
7084
- React__default['default'].createElement(react.Link, { styles: linkTextStyles, onClick: onTroubleshootingClick }, strings.linkText))));
7111
+ React__default['default'].createElement(react.Text, { styles: secondaryTextStyles$2 }, strings.secondaryText),
7112
+ React__default['default'].createElement(react.Link, { styles: linkTextStyles$1, onClick: onTroubleshootingClick }, strings.linkText))));
7085
7113
  };
7086
7114
  /**
7087
7115
  * @beta
@@ -7368,13 +7396,13 @@ const DrawerMenuItem = (props) => {
7368
7396
  React__default['default'].createElement(MenuItemIcon, Object.assign({}, props.iconProps)))),
7369
7397
  React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, grow: true },
7370
7398
  React__default['default'].createElement(react.Text, { styles: props.disabled ? { root: { color: theme.palette.neutralTertiaryAlt } } : undefined }, props.text)),
7371
- props.secondaryText && (React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, className: react.mergeStyles(secondaryTextStyles) },
7399
+ props.secondaryText && (React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, className: react.mergeStyles(secondaryTextStyles$1) },
7372
7400
  React__default['default'].createElement(react.Text, { styles: {
7373
7401
  root: { color: props.disabled ? theme.palette.neutralTertiaryAlt : theme.palette.neutralSecondary }
7374
7402
  } }, props.secondaryText))),
7375
7403
  secondaryIcon && React__default['default'].createElement(react.Stack.Item, null, secondaryIcon)));
7376
7404
  };
7377
- const MenuItemIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({ className: react.mergeStyles(iconStyles$1) }, props)));
7405
+ const MenuItemIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({ className: react.mergeStyles(iconStyles$2) }, props)));
7378
7406
  const menuItemChildrenGap = { childrenGap: '0.5rem' };
7379
7407
  const drawerMenuItemRootStyles = (hoverBackground, fontSize) => (Object.assign(Object.assign({}, fontSize), { height: '3rem', lineHeight: '3rem', padding: '0rem 0.75rem', cursor: 'pointer', ':hover, :focus': {
7380
7408
  background: hoverBackground
@@ -7394,7 +7422,7 @@ const drawerMenuItemTextStyles = {
7394
7422
  whiteSpace: 'nowrap'
7395
7423
  }
7396
7424
  };
7397
- const iconStyles$1 = {
7425
+ const iconStyles$2 = {
7398
7426
  // Vertically center icons in the menu item. Using line-height does not work for centering fluent SVG icons.
7399
7427
  display: 'flex',
7400
7428
  alignItems: 'center',
@@ -7406,7 +7434,7 @@ const iconStyles$1 = {
7406
7434
  height: '100%'
7407
7435
  }
7408
7436
  };
7409
- const secondaryTextStyles = {
7437
+ const secondaryTextStyles$1 = {
7410
7438
  // limit width for secondaryText in the menu item so it does not overlap with text on left.
7411
7439
  maxWidth: '50%'
7412
7440
  };
@@ -7422,10 +7450,10 @@ const DrawerContentContainer = (props) => {
7422
7450
  const theme = react.useTheme();
7423
7451
  const backgroundColor = theme.palette.white;
7424
7452
  const borderRadius = theme.effects.roundedCorner4;
7425
- const rootStyles = react.mergeStyles(containerStyles$2(backgroundColor, borderRadius), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root);
7453
+ const rootStyles = react.mergeStyles(containerStyles$3(backgroundColor, borderRadius), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root);
7426
7454
  return React__default['default'].createElement(react.Stack, { className: rootStyles }, props.children);
7427
7455
  };
7428
- const containerStyles$2 = (backgroundColor, borderRadius) => (Object.assign({ background: backgroundColor, borderTopRightRadius: borderRadius, borderTopLeftRadius: borderRadius }, react.AnimationStyles.slideUpIn10));
7456
+ const containerStyles$3 = (backgroundColor, borderRadius) => (Object.assign({ background: backgroundColor, borderTopRightRadius: borderRadius, borderTopLeftRadius: borderRadius }, react.AnimationStyles.slideUpIn10));
7429
7457
 
7430
7458
  // Copyright (c) Microsoft Corporation.
7431
7459
  /**
@@ -7759,7 +7787,7 @@ function determineStates(previous, current) {
7759
7787
  /**
7760
7788
  * @private
7761
7789
  */
7762
- const containerStyles$1 = (theme) => {
7790
+ const containerStyles$2 = (theme) => {
7763
7791
  return {
7764
7792
  maxWidth: '16rem',
7765
7793
  padding: '1.25rem',
@@ -8051,7 +8079,7 @@ const DialpadContainer = (props) => {
8051
8079
  const modifiedInput = plainTextValue.substring(0, plainTextValue.length - 1);
8052
8080
  setText(modifiedInput);
8053
8081
  };
8054
- return (React__default['default'].createElement("div", { className: react.mergeStyles(containerStyles$1(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), "data-test-id": "dialpadContainer", "data-ui-id": "dialpadContainer" },
8082
+ return (React__default['default'].createElement("div", { className: react.mergeStyles(containerStyles$2(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), "data-test-id": "dialpadContainer", "data-ui-id": "dialpadContainer" },
8055
8083
  React__default['default'].createElement(react.TextField, { styles: react.concatStyleSets(textFieldStyles(theme), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.textField), value: textFieldValue ? textFieldValue : formatPhoneNumber(plainTextValue),
8056
8084
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8057
8085
  onChange: (e) => {
@@ -8124,6 +8152,81 @@ const HoldButton = (props) => {
8124
8152
  return (React__default['default'].createElement(ControlBarButton, Object.assign({}, props, { strings: strings, onClick: onToggleHold !== null && onToggleHold !== void 0 ? onToggleHold : props.onClick, onRenderOnIcon: onRenderResumeIcon, onRenderOffIcon: onRenderHoldIcon })));
8125
8153
  };
8126
8154
 
8155
+ // Copyright (c) Microsoft Corporation.
8156
+ /**
8157
+ * @internal
8158
+ */
8159
+ const mainTextStyles = {
8160
+ root: {
8161
+ fontWeight: 600,
8162
+ fontSize: _pxToRem(20),
8163
+ lineHeight: _pxToRem(28),
8164
+ paddingBottom: '1rem',
8165
+ margin: 'auto'
8166
+ }
8167
+ };
8168
+ /**
8169
+ * @internal
8170
+ */
8171
+ const secondaryTextStyles = {
8172
+ root: {
8173
+ margin: 'auto',
8174
+ fontWeight: 400,
8175
+ paddingBottom: '0.5rem'
8176
+ }
8177
+ };
8178
+ /**
8179
+ * @internal
8180
+ */
8181
+ const linkTextStyles = {
8182
+ root: {
8183
+ margin: 'auto',
8184
+ fontWeight: 600,
8185
+ textAlign: 'inherit'
8186
+ }
8187
+ };
8188
+ /**
8189
+ * @internal
8190
+ */
8191
+ const containerStyles$1 = {
8192
+ root: {
8193
+ padding: '2rem',
8194
+ maxWidth: '25.374rem'
8195
+ }
8196
+ };
8197
+ /**
8198
+ * @interal
8199
+ */
8200
+ const iconStyles$1 = {
8201
+ root: {
8202
+ paddingBottom: '1rem'
8203
+ }
8204
+ };
8205
+
8206
+ // Copyright (c) Microsoft Corporation.
8207
+ /* @conditional-compile-remove(unsupported-browser) */
8208
+ const UnsupportedBrowserContainer = (props) => {
8209
+ const { onTroubleShootingClick, strings } = props;
8210
+ return (React__default['default'].createElement(react.Stack, { styles: containerStyles$1 },
8211
+ React__default['default'].createElement(react.Icon, { styles: iconStyles$1, iconName: "UnsupportedBrowserWarning" }),
8212
+ React__default['default'].createElement(react.Text, { styles: mainTextStyles }, strings.primaryText),
8213
+ React__default['default'].createElement(react.Text, { styles: secondaryTextStyles }, strings.secondaryText),
8214
+ React__default['default'].createElement(react.Link, { styles: linkTextStyles, onClick: () => {
8215
+ onTroubleShootingClick();
8216
+ } }, strings.moreHelpLink)));
8217
+ };
8218
+ /**
8219
+ * UI to display to the user that the browser they are using is not supported by calling application.
8220
+ *
8221
+ * @beta
8222
+ */
8223
+ const UnsupportedBrowser = (props) => {
8224
+ /* @conditional-compile-remove(unsupported-browser) */
8225
+ const strings = useLocale$1().strings.UnsupportedBrowser;
8226
+ /* @conditional-compile-remove(unsupported-browser) */
8227
+ return React__default['default'].createElement(UnsupportedBrowserContainer, Object.assign({}, props, { strings: strings }));
8228
+ };
8229
+
8127
8230
  // Copyright (c) Microsoft Corporation.
8128
8231
  // Licensed under the MIT license.
8129
8232
  /**
@@ -12836,7 +12939,9 @@ const COMPOSITE_ONLY_ICONS = {
12836
12939
  /* @conditional-compile-remove(PSTN-calls) */
12837
12940
  PeoplePaneOpenDialpad: React__default['default'].createElement(reactIcons.Dialpad20Regular, null),
12838
12941
  /* @conditional-compile-remove(PSTN-calls) */
12839
- DialpadStartCall: React__default['default'].createElement(reactIcons.Call20Regular, null)
12942
+ DialpadStartCall: React__default['default'].createElement(reactIcons.Call20Regular, null),
12943
+ /* @conditional-compile-remove(rooms) */
12944
+ NoticePageInvalidRoom: React__default['default'].createElement(reactIcons.Info20Filled, null)
12840
12945
  };
12841
12946
  /**
12842
12947
  * The default set of icons that are available to used in the Composites.
@@ -12869,7 +12974,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
12869
12974
  */
12870
12975
  const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
12871
12976
 
12872
- var call$d={cameraLabel:"Camera",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",peopleButtonLabel:"People",peoplePaneTitle:"People",peoplePaneSubTitle:"In this call",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",soundLabel:"Sound",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var chat$d={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$d={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",peopleButtonLabel:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var en_US = {call:call$d,chat:chat$d,callWithChat:callWithChat$d};
12977
+ var call$d={cameraLabel:"Camera",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",peoplePaneTitle:"People",peoplePaneSubTitle:"In this call",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var chat$d={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$d={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",peopleButtonLabel:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var en_US = {call:call$d,chat:chat$d,callWithChat:callWithChat$d};
12873
12978
 
12874
12979
  var call$c={cameraLabel:"Camera",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",defaultPlaceHolder:"Select an option",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",soundLabel:"Sound",startCallButtonLabel:"Start call",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby."};var chat$c={chatListHeader:"In this chat"};var callWithChat$c={peopleButtonLabel:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",chatButtonLabel:"Chat",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipOpen:"Show chat",chatButtonTooltipClose:"Hide chat",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",peoplePaneTitle:"People",peoplePaneSubTitle:"In this call",chatPaneTitle:"Chat",chatButtonNewMessageNotificationLabel:"New Message",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",copyInviteLinkButtonLabel:"Copy invite link",dismissSidePaneButton:"Close",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back"};var en_GB = {call:call$c,chat:chat$c,callWithChat:callWithChat$c};
12875
12980
 
@@ -14527,13 +14632,19 @@ const END_CALL_PAGES = [
14527
14632
  'accessDeniedTeamsMeeting',
14528
14633
  'joinCallFailedDueToNoNetwork',
14529
14634
  'leftCall',
14530
- 'removedFromCall'
14635
+ /* @conditional-compile-remove(rooms) */ 'deniedPermissionToRoom',
14636
+ 'removedFromCall',
14637
+ /* @conditional-compile-remove(rooms) */ 'roomNotFound'
14531
14638
  ];
14532
14639
 
14533
14640
  // Copyright (c) Microsoft Corporation.
14534
14641
  const ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;
14535
14642
  const REMOTE_PSTN_USER_HUNG_UP = 560000;
14536
14643
  const REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];
14644
+ /* @conditional-compile-remove(rooms) */
14645
+ const ROOM_NOT_FOUND_SUB_CODE = 5751;
14646
+ /* @conditional-compile-remove(rooms) */
14647
+ const DENIED_PERMISSION_TO_ROOM_SUB_CODE = 5828;
14537
14648
  /**
14538
14649
  * @private
14539
14650
  */
@@ -14576,9 +14687,11 @@ var CallEndReasons;
14576
14687
  CallEndReasons[CallEndReasons["LEFT_CALL"] = 0] = "LEFT_CALL";
14577
14688
  CallEndReasons[CallEndReasons["ACCESS_DENIED"] = 1] = "ACCESS_DENIED";
14578
14689
  CallEndReasons[CallEndReasons["REMOVED_FROM_CALL"] = 2] = "REMOVED_FROM_CALL";
14690
+ CallEndReasons[CallEndReasons["ROOM_NOT_FOUND"] = 3] = "ROOM_NOT_FOUND";
14691
+ CallEndReasons[CallEndReasons["DENIED_PERMISSION_TO_ROOM"] = 4] = "DENIED_PERMISSION_TO_ROOM";
14579
14692
  })(CallEndReasons || (CallEndReasons = {}));
14580
14693
  const getCallEndReason = (call) => {
14581
- var _a, _b, _c;
14694
+ var _a, _b, _c, _d, _e;
14582
14695
  const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));
14583
14696
  /**
14584
14697
  * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.
@@ -14598,6 +14711,14 @@ const getCallEndReason = (call) => {
14598
14711
  if (((_c = call.callEndReason) === null || _c === void 0 ? void 0 : _c.subCode) && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {
14599
14712
  return CallEndReasons.REMOVED_FROM_CALL;
14600
14713
  }
14714
+ /* @conditional-compile-remove(rooms) */
14715
+ if (((_d = call.callEndReason) === null || _d === void 0 ? void 0 : _d.subCode) && call.callEndReason.subCode === ROOM_NOT_FOUND_SUB_CODE) {
14716
+ return CallEndReasons.ROOM_NOT_FOUND;
14717
+ }
14718
+ /* @conditional-compile-remove(rooms) */
14719
+ if (((_e = call.callEndReason) === null || _e === void 0 ? void 0 : _e.subCode) && call.callEndReason.subCode === DENIED_PERMISSION_TO_ROOM_SUB_CODE) {
14720
+ return CallEndReasons.DENIED_PERMISSION_TO_ROOM;
14721
+ }
14601
14722
  if (call.callEndReason) {
14602
14723
  // No error codes match, assume the user simply left the call regularly
14603
14724
  return CallEndReasons.LEFT_CALL;
@@ -14645,6 +14766,13 @@ const getCallCompositePage = (call, previousCall) => {
14645
14766
  }
14646
14767
  if (previousCall) {
14647
14768
  const reason = getCallEndReason(previousCall);
14769
+ /* @conditional-compile-remove(rooms) */
14770
+ switch (reason) {
14771
+ case CallEndReasons.ROOM_NOT_FOUND:
14772
+ return 'roomNotFound';
14773
+ case CallEndReasons.DENIED_PERMISSION_TO_ROOM:
14774
+ return 'deniedPermissionToRoom';
14775
+ }
14648
14776
  switch (reason) {
14649
14777
  case CallEndReasons.ACCESS_DENIED:
14650
14778
  return 'accessDeniedTeamsMeeting';
@@ -15402,6 +15530,39 @@ const callStatusSelector = reselect.createSelector([getCallStatus, getIsScreenSh
15402
15530
  };
15403
15531
  });
15404
15532
 
15533
+ // Copyright (c) Microsoft Corporation.
15534
+ /**
15535
+ * @private
15536
+ */
15537
+ const useSidePaneState = () => {
15538
+ const { callStatus } = useSelector$1(callStatusSelector);
15539
+ const isInCall = _isInCall(callStatus);
15540
+ const [chosenPane, setChosenPane] = React.useState(null);
15541
+ const closePane = React.useCallback(() => {
15542
+ setChosenPane(null);
15543
+ }, [setChosenPane]);
15544
+ const openPeoplePane = React.useCallback(() => {
15545
+ setChosenPane('people');
15546
+ }, []);
15547
+ const togglePeoplePane = React.useCallback(() => {
15548
+ if (chosenPane === 'people') {
15549
+ closePane();
15550
+ }
15551
+ else {
15552
+ openPeoplePane();
15553
+ }
15554
+ }, [chosenPane, closePane, openPeoplePane]);
15555
+ // If we are not in a call, we should not show the people pane.
15556
+ const activePane = chosenPane === 'people' && isInCall ? 'people' : null;
15557
+ const memoizedReturnValue = React.useMemo(() => ({
15558
+ activePane,
15559
+ closePane,
15560
+ openPeoplePane,
15561
+ togglePeoplePane
15562
+ }), [activePane, closePane, openPeoplePane, togglePeoplePane]);
15563
+ return memoizedReturnValue;
15564
+ };
15565
+
15405
15566
  // Copyright (c) Microsoft Corporation.
15406
15567
  // Licensed under the MIT license.
15407
15568
  /** @private */
@@ -16333,8 +16494,7 @@ var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments,
16333
16494
  const CallPane = (props) => {
16334
16495
  var _a;
16335
16496
  const [drawerMenuItems, setDrawerMenuItems] = React.useState([]);
16336
- const hidden = props.activePane === 'none';
16337
- const paneStyles = hidden ? hiddenStyles : props.mobileView ? availableSpaceStyles : sidePaneStyles;
16497
+ const paneStyles = !props.activePane ? hiddenStyles : props.mobileView ? availableSpaceStyles : sidePaneStyles;
16338
16498
  const localeStrings = useLocale();
16339
16499
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
16340
16500
  const getStrings = () => {
@@ -16343,7 +16503,7 @@ const CallPane = (props) => {
16343
16503
  };
16344
16504
  const strings = getStrings();
16345
16505
  const theme = useTheme();
16346
- const header = props.activePane === 'none' ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: strings, activeTab: props.activePane, disablePeopleButton: isDisabled$2((_a = props.callControls) === null || _a === void 0 ? void 0 : _a.participantsButton) }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: strings, headingText: props.activePane === 'people' ? strings.peoplePaneTitle : '' })));
16506
+ const header = !props.activePane ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: strings, activeTab: props.activePane, disablePeopleButton: isDisabled$2((_a = props.callControls) === null || _a === void 0 ? void 0 : _a.participantsButton) }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: strings, headingText: props.activePane === 'people' ? strings.peoplePaneTitle : '' })));
16347
16507
  /**
16348
16508
  * In a Call Composite when a participant is removed, we must remove them from the call.
16349
16509
  */
@@ -16371,7 +16531,7 @@ const CallPane = (props) => {
16371
16531
  onAddParticipant: addParticipantToCall, setDrawerMenuItems: setDrawerMenuItems, strings: strings,
16372
16532
  /* @conditional-compile-remove(PSTN-calls) */
16373
16533
  alternateCallerId: alternateCallerId }))))))),
16374
- props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { callAdapter: props.callAdapter, modalLayerHostId: props.modalLayerHostId, hidden: hidden, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
16534
+ props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { callAdapter: props.callAdapter, modalLayerHostId: props.modalLayerHostId, hidden: !props.activePane, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
16375
16535
  drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles },
16376
16536
  React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems })))));
16377
16537
  };
@@ -16430,30 +16590,9 @@ const CallArrangement = (props) => {
16430
16590
  /* @conditional-compile-remove(one-to-n-calling) */
16431
16591
  const adapter = useAdapter();
16432
16592
  /* @conditional-compile-remove(one-to-n-calling) */
16433
- const [activePane, setActivePane] = React.useState('none');
16434
- /* @conditional-compile-remove(one-to-n-calling) */
16435
- const { callStatus } = useSelector$1(callStatusSelector);
16436
- /* @conditional-compile-remove(one-to-n-calling) */
16437
- const closePane = React.useCallback(() => {
16438
- setActivePane('none');
16439
- }, [setActivePane]);
16440
- /* @conditional-compile-remove(one-to-n-calling) */
16441
- const isMobileWithActivePane = props.mobileView && activePane !== 'none';
16442
- /* @conditional-compile-remove(one-to-n-calling) */
16443
- const togglePeople = React.useCallback(() => {
16444
- if (activePane === 'people' || !_isInCall(callStatus)) {
16445
- setActivePane('none');
16446
- }
16447
- else {
16448
- setActivePane('people');
16449
- }
16450
- }, [activePane, setActivePane, callStatus]);
16593
+ const { activePane, closePane, openPeoplePane, togglePeoplePane } = useSidePaneState();
16451
16594
  /* @conditional-compile-remove(one-to-n-calling) */
16452
- const selectPeople = React.useCallback(() => {
16453
- if (_isInCall(callStatus)) {
16454
- setActivePane('people');
16455
- }
16456
- }, [setActivePane, callStatus]);
16595
+ const isMobileWithActivePane = props.mobileView && activePane;
16457
16596
  /* @conditional-compile-remove(one-to-n-calling) */
16458
16597
  const callCompositeContainerCSS = React.useMemo(() => {
16459
16598
  return { display: isMobileWithActivePane ? 'none' : 'flex' };
@@ -16467,14 +16606,13 @@ const CallArrangement = (props) => {
16467
16606
  /* @conditional-compile-remove(one-to-n-calling) */
16468
16607
  const callPaneContent = React.useCallback(() => {
16469
16608
  var _a;
16470
- if (adapter && _isInCall(callStatus) && activePane === 'people') {
16471
- return (React__default['default'].createElement(CallPane, { callAdapter: adapter, onClose: closePane, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: (_a = props.callControlProps) === null || _a === void 0 ? void 0 : _a.onFetchParticipantMenuItems, onPeopleButtonClicked: showShowPeopleTabHeaderButton$1(props.callControlProps.options) ? selectPeople : undefined, callControls: typeof props.callControlProps.options !== 'boolean' ? props.callControlProps.options : undefined, modalLayerHostId: props.modalLayerHostId, activePane: activePane, mobileView: props.mobileView, inviteLink: props.callControlProps.callInvitationURL }));
16609
+ if (adapter && activePane === 'people') {
16610
+ return (React__default['default'].createElement(CallPane, { callAdapter: adapter, onClose: closePane, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: (_a = props.callControlProps) === null || _a === void 0 ? void 0 : _a.onFetchParticipantMenuItems, onPeopleButtonClicked: showShowPeopleTabHeaderButton$1(props.callControlProps.options) ? openPeoplePane : undefined, callControls: typeof props.callControlProps.options !== 'boolean' ? props.callControlProps.options : undefined, modalLayerHostId: props.modalLayerHostId, activePane: activePane, mobileView: props.mobileView, inviteLink: props.callControlProps.callInvitationURL }));
16472
16611
  }
16473
16612
  return React__default['default'].createElement(React__default['default'].Fragment, null);
16474
16613
  }, [
16475
16614
  activePane,
16476
16615
  adapter,
16477
- callStatus,
16478
16616
  closePane,
16479
16617
  props.callControlProps.callInvitationURL,
16480
16618
  (_a = props.callControlProps) === null || _a === void 0 ? void 0 : _a.onFetchParticipantMenuItems,
@@ -16482,8 +16620,13 @@ const CallArrangement = (props) => {
16482
16620
  props.mobileView,
16483
16621
  props.modalLayerHostId,
16484
16622
  props.onFetchAvatarPersonaData,
16485
- selectPeople
16623
+ openPeoplePane
16486
16624
  ]);
16625
+ /* @conditional-compile-remove(rooms) */
16626
+ const rolePermissions = _usePermissions();
16627
+ let canUnmute = true;
16628
+ /* @conditional-compile-remove(rooms) */
16629
+ canUnmute = rolePermissions.microphoneButton;
16487
16630
  return (React__default['default'].createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles) },
16488
16631
  React__default['default'].createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
16489
16632
  React__default['default'].createElement(react.Stack, { horizontal: true, grow: true },
@@ -16492,7 +16635,7 @@ const CallArrangement = (props) => {
16492
16635
  React__default['default'].createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
16493
16636
  props.errorBarProps !== false && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
16494
16637
  React__default['default'].createElement(ErrorBar, Object.assign({}, props.errorBarProps)))),
16495
- !!props.mutedNotificationProps && React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps))),
16638
+ canUnmute && !!props.mutedNotificationProps && React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps))),
16496
16639
  React__default['default'].createElement(react.Stack.Item, { grow: true, style: callCompositeContainerFlex() },
16497
16640
  React__default['default'].createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true }, props.onRenderGalleryContent && (React__default['default'].createElement(react.Stack, { verticalFill: true, styles: mediaGalleryContainerStyles }, props.onRenderGalleryContent())))),
16498
16641
  callPaneContent()),
@@ -16502,7 +16645,7 @@ const CallArrangement = (props) => {
16502
16645
  /* @conditional-compile-remove(one-to-n-calling) */
16503
16646
  peopleButtonChecked: activePane === 'people',
16504
16647
  /* @conditional-compile-remove(one-to-n-calling) */
16505
- onPeopleButtonClicked: togglePeople })))))));
16648
+ onPeopleButtonClicked: togglePeoplePane })))))));
16506
16649
  };
16507
16650
  /* @conditional-compile-remove(one-to-n-calling) */
16508
16651
  const showShowPeopleTabHeaderButton$1 = (callControls) => {
@@ -17596,6 +17739,15 @@ const MainScreen = (props) => {
17596
17739
  const adapter = useAdapter();
17597
17740
  const locale = useLocale();
17598
17741
  let pageElement;
17742
+ /* @conditional-compile-remove(rooms) */
17743
+ switch (page) {
17744
+ case 'roomNotFound':
17745
+ pageElement = (React__default['default'].createElement(NoticePage, { iconName: "NoticePageInvalidRoom", title: locale.strings.call.roomNotFoundTitle, moreDetails: locale.strings.call.roomNotFoundDetails, dataUiId: 'room-not-found-page' }));
17746
+ break;
17747
+ case 'deniedPermissionToRoom':
17748
+ pageElement = (React__default['default'].createElement(NoticePage, { iconName: "NoticePageInvalidRoom", title: locale.strings.call.deniedPermissionToRoomTitle, moreDetails: locale.strings.call.deniedPermissionToRoomDetails, dataUiId: 'not-invited-to-room-page' }));
17749
+ break;
17750
+ }
17599
17751
  switch (page) {
17600
17752
  case 'configuration':
17601
17753
  pageElement = (React__default['default'].createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
@@ -17629,8 +17781,9 @@ const MainScreen = (props) => {
17629
17781
  pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null,
17630
17782
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ React__default['default'].createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options })));
17631
17783
  break;
17632
- default:
17633
- throw new Error('Invalid call composite page');
17784
+ }
17785
+ if (!pageElement) {
17786
+ throw new Error('Invalid call composite page');
17634
17787
  }
17635
17788
  /* @conditional-compile-remove(rooms) */
17636
17789
  const permissions = _getPermissions(props.role);
@@ -20383,6 +20536,7 @@ exports.ScreenShareButton = ScreenShareButton;
20383
20536
  exports.SendBox = SendBox;
20384
20537
  exports.StreamMedia = StreamMedia;
20385
20538
  exports.TypingIndicator = TypingIndicator;
20539
+ exports.UnsupportedBrowser = UnsupportedBrowser;
20386
20540
  exports.VideoGallery = VideoGallery;
20387
20541
  exports.VideoTile = VideoTile;
20388
20542
  exports._IdentifierProvider = _IdentifierProvider;