@azure/communication-react 1.4.3-alpha-202301130014.0 → 1.4.3-alpha-202301150014.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.
- package/dist/communication-react.d.ts +0 -3
- package/dist/dist-cjs/communication-react/index.js +293 -179
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +13 -4
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +7 -0
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +9 -0
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +11 -4
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +6 -10
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -4
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +16 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +18 -5
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.js +7 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +9 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +18 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +2 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.d.ts +6 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js +9 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +10 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +29 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +11 -8
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/useLongPress.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +7 -2
- package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
- package/package.json +11 -10
@@ -17,6 +17,7 @@ var reactFileTypeIcons = require('@fluentui/react-file-type-icons');
|
|
17
17
|
var reactAriaLive = require('react-aria-live');
|
18
18
|
var htmlToReact = require('html-to-react');
|
19
19
|
var Linkify = require('react-linkify');
|
20
|
+
var reactUseDraggableScroll = require('react-use-draggable-scroll');
|
20
21
|
var reactHooks = require('@fluentui/react-hooks');
|
21
22
|
var reactWindowProvider = require('@fluentui/react-window-provider');
|
22
23
|
var copy = require('copy-to-clipboard');
|
@@ -158,7 +159,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
158
159
|
// Copyright (c) Microsoft Corporation.
|
159
160
|
// Licensed under the MIT license.
|
160
161
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
161
|
-
var telemetryVersion = '1.4.3-alpha-
|
162
|
+
var telemetryVersion = '1.4.3-alpha-202301150014.0';
|
162
163
|
|
163
164
|
// Copyright (c) Microsoft Corporation.
|
164
165
|
/**
|
@@ -458,6 +459,15 @@ const isTeamsCallParticipants = (participants) => {
|
|
458
459
|
const isACSCallParticipants = (participants) => {
|
459
460
|
return participants.every((p) => !communicationCommon.isMicrosoftTeamsUserIdentifier(p));
|
460
461
|
};
|
462
|
+
/**
|
463
|
+
* @private
|
464
|
+
* Checks whether the user is a 'Ringing' PSTN user.
|
465
|
+
*/
|
466
|
+
const _isRingingPSTNParticipant = (participant) => {
|
467
|
+
return participant.identifier.kind === 'phoneNumber' && participant.state === 'Connecting'
|
468
|
+
? 'Ringing'
|
469
|
+
: participant.state;
|
470
|
+
};
|
461
471
|
|
462
472
|
// Copyright (c) Microsoft Corporation.
|
463
473
|
/**
|
@@ -3970,7 +3980,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
3970
3980
|
wordBreak: 'break-word'
|
3971
3981
|
});
|
3972
3982
|
|
3973
|
-
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",copyInviteLinkActionedAriaLabel:"Invite link copied"};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.",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."};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",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin for me"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$d={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$d={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var CameraAndMicrophoneSitePermissionsRequest={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={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={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={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={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={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={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={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={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={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={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={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$e={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$1={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$1={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$d={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$d={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 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$d,videoTile:videoTile$d,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest,CameraSitePermissionsRequest:CameraSitePermissionsRequest,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck,CameraSitePermissionsCheck:CameraSitePermissionsCheck,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari,CameraSitePermissionsDenied:CameraSitePermissionsDenied,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
3983
|
+
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",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",copyInviteLinkActionedAriaLabel:"Invite link copied"};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.",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."};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",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin for me"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$d={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$d={participantStateRinging:"Calling...",participantStateHold:"On hold"};var CameraAndMicrophoneSitePermissionsRequest={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={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={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={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={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={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={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={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={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={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={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={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$e={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$1={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$1={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$d={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$d={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 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$d,videoTile:videoTile$d,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest,CameraSitePermissionsRequest:CameraSitePermissionsRequest,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck,CameraSitePermissionsCheck:CameraSitePermissionsCheck,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari,CameraSitePermissionsDenied:CameraSitePermissionsDenied,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
3974
3984
|
|
3975
3985
|
var participantItem$c={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};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.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};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",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$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.",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$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 phone number",deleteButtonAriaLabel:"Delete"};var holdButton$c={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$c={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var SitePermissions$c={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:"Allow Access"};var UnsupportedBrowser$d={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLink:"More help"};var BrowserPermissionDenied$c={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$c={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 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$c,videoTile:videoTile$c,SitePermissions:SitePermissions$c,UnsupportedBrowser:UnsupportedBrowser$d,BrowserPermissionDenied:BrowserPermissionDenied$c,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$c};
|
3976
3986
|
|
@@ -7554,9 +7564,7 @@ const meContainerStyle = {
|
|
7554
7564
|
* @public
|
7555
7565
|
*/
|
7556
7566
|
const ParticipantItem = (props) => {
|
7557
|
-
const { userId, displayName, onRenderAvatar, menuItems, onRenderIcon, presence, styles, me, onClick, showParticipantOverflowTooltip
|
7558
|
-
/* @conditional-compile-remove(PSTN-calls) */
|
7559
|
-
} = props;
|
7567
|
+
const { userId, displayName, onRenderAvatar, menuItems, onRenderIcon, presence, styles, me, onClick, showParticipantOverflowTooltip } = props;
|
7560
7568
|
const [itemHovered, setItemHovered] = React.useState(false);
|
7561
7569
|
const [itemFocused, setItemFocused] = React.useState(false);
|
7562
7570
|
const [menuHidden, setMenuHidden] = React.useState(true);
|
@@ -7616,13 +7624,11 @@ const ParticipantItem = (props) => {
|
|
7616
7624
|
const participantStateStringTrampoline$1 = (props, strings) => {
|
7617
7625
|
/* @conditional-compile-remove(one-to-n-calling) */
|
7618
7626
|
/* @conditional-compile-remove(PSTN-calls) */
|
7619
|
-
return props.participantState === '
|
7620
|
-
? strings === null || strings === void 0 ? void 0 : strings.
|
7621
|
-
: props.participantState === '
|
7622
|
-
? strings === null || strings === void 0 ? void 0 : strings.
|
7623
|
-
:
|
7624
|
-
? strings === null || strings === void 0 ? void 0 : strings.participantStateHold
|
7625
|
-
: undefined;
|
7627
|
+
return props.participantState === 'EarlyMedia' || props.participantState === 'Ringing'
|
7628
|
+
? strings === null || strings === void 0 ? void 0 : strings.participantStateRinging
|
7629
|
+
: props.participantState === 'Hold'
|
7630
|
+
? strings === null || strings === void 0 ? void 0 : strings.participantStateHold
|
7631
|
+
: undefined;
|
7626
7632
|
};
|
7627
7633
|
|
7628
7634
|
// Copyright (c) Microsoft Corporation.
|
@@ -8416,6 +8422,9 @@ function useLongPress(props) {
|
|
8416
8422
|
const handleOnTouchEnd = React.useCallback(() => {
|
8417
8423
|
timerRef.current && clearTimeout(timerRef.current);
|
8418
8424
|
}, []);
|
8425
|
+
const handleOnTouchMove = React.useCallback(() => {
|
8426
|
+
timerRef.current && clearTimeout(timerRef.current);
|
8427
|
+
}, []);
|
8419
8428
|
return React.useMemo(() => ({
|
8420
8429
|
onClick: handleOnClick,
|
8421
8430
|
onMouseDown: handleOnMouseDown,
|
@@ -8423,7 +8432,8 @@ function useLongPress(props) {
|
|
8423
8432
|
onTouchStart: handleOnTouchStart,
|
8424
8433
|
onTouchEnd: handleOnTouchEnd,
|
8425
8434
|
onKeyDown: handleOnKeyDown,
|
8426
|
-
onKeyUp: handleOnKeyUp
|
8435
|
+
onKeyUp: handleOnKeyUp,
|
8436
|
+
onTouchMove: handleOnTouchMove
|
8427
8437
|
}), [
|
8428
8438
|
handleOnClick,
|
8429
8439
|
handleOnKeyDown,
|
@@ -8431,7 +8441,8 @@ function useLongPress(props) {
|
|
8431
8441
|
handleOnMouseDown,
|
8432
8442
|
handleOnMouseUp,
|
8433
8443
|
handleOnTouchEnd,
|
8434
|
-
handleOnTouchStart
|
8444
|
+
handleOnTouchStart,
|
8445
|
+
handleOnTouchMove
|
8435
8446
|
]);
|
8436
8447
|
}
|
8437
8448
|
|
@@ -8543,7 +8554,12 @@ const VideoTile = (props) => {
|
|
8543
8554
|
}
|
8544
8555
|
}, styles === null || styles === void 0 ? void 0 : styles.root) }, longPressHandlersTrampoline),
|
8545
8556
|
React__default['default'].createElement("div", { ref: videoTileRef, style: { width: '100%', height: '100%' } },
|
8546
|
-
isVideoRendered ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles, isMirrored && { transform: 'scaleX(-1)' }, styles === null || styles === void 0 ? void 0 : styles.videoContainer) }, renderElement)) : (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles
|
8557
|
+
isVideoRendered ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles, isMirrored && { transform: 'scaleX(-1)' }, styles === null || styles === void 0 ? void 0 : styles.videoContainer) }, renderElement)) : (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles, {
|
8558
|
+
opacity: participantStateString ||
|
8559
|
+
/* @conditional-compile-remove(PSTN-calls) */ props.participantState === 'Idle'
|
8560
|
+
? 0.4
|
8561
|
+
: 1
|
8562
|
+
}) }, onRenderPlaceholder ? (onRenderPlaceholder(userId !== null && userId !== void 0 ? userId : '', placeholderOptions, DefaultPlaceholder)) : (React__default['default'].createElement(DefaultPlaceholder, Object.assign({}, placeholderOptions))))),
|
8547
8563
|
(canShowLabel || participantStateString) && (React__default['default'].createElement(react.Stack, { horizontal: true, className: tileInfoContainerStyle, tokens: tileInfoContainerTokens },
|
8548
8564
|
React__default['default'].createElement(react.Stack, { horizontal: true, className: tileInfoStyle },
|
8549
8565
|
canShowLabel && (React__default['default'].createElement(react.Text, { className: react.mergeStyles(displayNameStyle), title: displayName, style: { color: participantStateString ? theme.palette.neutralSecondary : 'inherit' } }, displayName)),
|
@@ -8563,13 +8579,11 @@ const participantStateStringTrampoline = (props, locale) => {
|
|
8563
8579
|
const strings = Object.assign(Object.assign({}, locale.strings.videoTile), props.strings);
|
8564
8580
|
/* @conditional-compile-remove(one-to-n-calling) */
|
8565
8581
|
/* @conditional-compile-remove(PSTN-calls) */
|
8566
|
-
return props.participantState === '
|
8567
|
-
? strings === null || strings === void 0 ? void 0 : strings.
|
8568
|
-
: props.participantState === '
|
8569
|
-
? strings === null || strings === void 0 ? void 0 : strings.
|
8570
|
-
:
|
8571
|
-
? strings === null || strings === void 0 ? void 0 : strings.participantStateHold
|
8572
|
-
: undefined;
|
8582
|
+
return props.participantState === 'EarlyMedia' || props.participantState === 'Ringing'
|
8583
|
+
? strings === null || strings === void 0 ? void 0 : strings.participantStateRinging
|
8584
|
+
: props.participantState === 'Hold'
|
8585
|
+
? strings === null || strings === void 0 ? void 0 : strings.participantStateHold
|
8586
|
+
: undefined;
|
8573
8587
|
};
|
8574
8588
|
const tileInfoContainerTokens = {
|
8575
8589
|
// A horizontal Stack sets the left margin to 0 for all it's children.
|
@@ -8590,7 +8604,7 @@ const bracketedParticipantString = (participantString, withBrackets) => {
|
|
8590
8604
|
*/
|
8591
8605
|
const _RemoteVideoTile = React__default['default'].memo((props) => {
|
8592
8606
|
const { isAvailable, isReceiving = true, // default to true to prevent any breaking change
|
8593
|
-
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState,
|
8607
|
+
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState, menuKind = 'contextual', isPinned, onPinParticipant, onUnpinParticipant, disablePinMenuItem } = props;
|
8594
8608
|
const remoteVideoStreamProps = React.useMemo(() => ({
|
8595
8609
|
isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored,
|
8596
8610
|
isScreenSharingOn,
|
@@ -8625,11 +8639,11 @@ const _RemoteVideoTile = React__default['default'].memo((props) => {
|
|
8625
8639
|
disablePinMenuItem
|
8626
8640
|
});
|
8627
8641
|
const videoTileContextualMenuProps = React.useMemo(() => {
|
8628
|
-
if (
|
8642
|
+
if (menuKind !== 'contextual') {
|
8629
8643
|
return {};
|
8630
8644
|
}
|
8631
8645
|
return videoTileContextualMenuPropsTrampoline(contextualMenuProps);
|
8632
|
-
}, [contextualMenuProps,
|
8646
|
+
}, [contextualMenuProps, menuKind]);
|
8633
8647
|
const showLoadingIndicator = isAvailable && isReceiving === false && participantState !== 'Disconnected';
|
8634
8648
|
const [drawerMenuItemProps, setDrawerMenuItemProps] = React__default['default'].useState([]);
|
8635
8649
|
const renderVideoStreamElement = React.useMemo(() => {
|
@@ -8641,7 +8655,19 @@ const _RemoteVideoTile = React__default['default'].memo((props) => {
|
|
8641
8655
|
}
|
8642
8656
|
return (React__default['default'].createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: showLoadingIndicator ? 'loading' : 'none' }));
|
8643
8657
|
}, [renderElement, showLoadingIndicator]);
|
8644
|
-
|
8658
|
+
/* @conditional-compile-remove(pinned-participants) */
|
8659
|
+
const onKeyDown = React.useCallback((e) => {
|
8660
|
+
if (e.key === 'Enter') {
|
8661
|
+
setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([])));
|
8662
|
+
}
|
8663
|
+
}, [setDrawerMenuItemProps, contextualMenuProps]);
|
8664
|
+
return (React__default['default'].createElement(react.Stack
|
8665
|
+
/* @conditional-compile-remove(pinned-participants) */
|
8666
|
+
, {
|
8667
|
+
/* @conditional-compile-remove(pinned-participants) */
|
8668
|
+
tabIndex: menuKind === 'drawer' ? 0 : undefined,
|
8669
|
+
/* @conditional-compile-remove(pinned-participants) */
|
8670
|
+
onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined, style: remoteVideoTileWrapperStyle },
|
8645
8671
|
React__default['default'].createElement(VideoTile, Object.assign({ key: userId, userId: userId, renderElement: renderVideoStreamElement, displayName: remoteParticipant.displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel,
|
8646
8672
|
/* @conditional-compile-remove(one-to-n-calling) */
|
8647
8673
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -8902,6 +8928,176 @@ const FloatingLocalCameraCycleButton = (props) => {
|
|
8902
8928
|
(localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.onSelectCamera) !== undefined && (React__default['default'].createElement(LocalVideoCameraCycleButton, { cameras: localVideoCameraCycleButtonProps.cameras, selectedCamera: localVideoCameraCycleButtonProps.selectedCamera, onSelectCamera: localVideoCameraCycleButtonProps.onSelectCamera, label: localVideoCameraSwitcherLabel, ariaDescription: ariaDescription }))));
|
8903
8929
|
};
|
8904
8930
|
|
8931
|
+
// Copyright (c) Microsoft Corporation.
|
8932
|
+
/**
|
8933
|
+
* @private
|
8934
|
+
*/
|
8935
|
+
react.mergeStyles({ position: 'relative', width: '100%', height: '100%' });
|
8936
|
+
/**
|
8937
|
+
* Small floating modal width and height in rem for small screen
|
8938
|
+
*/
|
8939
|
+
const SMALL_FLOATING_MODAL_SIZE_PX = { width: 64, height: 88 };
|
8940
|
+
/**
|
8941
|
+
* Large floating modal width and height in rem for large screen
|
8942
|
+
* Aspect ratio: 16:9
|
8943
|
+
*/
|
8944
|
+
const LARGE_FLOATING_MODAL_SIZE_PX = { width: 215, height: 120 };
|
8945
|
+
/**
|
8946
|
+
* @private
|
8947
|
+
* z-index to ensure that the local video tile is above the video gallery.
|
8948
|
+
*/
|
8949
|
+
const LOCAL_VIDEO_TILE_ZINDEX = 2;
|
8950
|
+
/**
|
8951
|
+
* @private
|
8952
|
+
*/
|
8953
|
+
const localVideoTileContainerStyle = (theme, isNarrow) => {
|
8954
|
+
return Object.assign({ minWidth: isNarrow ? _pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width) : _pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width), minHeight: isNarrow ? _pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.height) : _pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.height), position: 'absolute', bottom: _pxToRem(localVideoTileOuterPaddingPX), borderRadius: theme.effects.roundedCorner4, overflow: 'hidden' }, (theme.rtl
|
8955
|
+
? { left: _pxToRem(localVideoTileOuterPaddingPX) }
|
8956
|
+
: { right: _pxToRem(localVideoTileOuterPaddingPX) }));
|
8957
|
+
};
|
8958
|
+
/**
|
8959
|
+
* @private
|
8960
|
+
*/
|
8961
|
+
const localVideoTileWithControlsContainerStyle = (theme, isNarrow) => {
|
8962
|
+
return react.concatStyleSets(localVideoTileContainerStyle(theme, isNarrow), {
|
8963
|
+
root: { boxShadow: theme.effects.elevation8 }
|
8964
|
+
});
|
8965
|
+
};
|
8966
|
+
/**
|
8967
|
+
* @private
|
8968
|
+
*/
|
8969
|
+
const floatingLocalVideoModalStyle = (theme, isNarrow) => {
|
8970
|
+
return react.concatStyleSets({
|
8971
|
+
main: localVideoTileContainerStyle(theme, isNarrow)
|
8972
|
+
}, {
|
8973
|
+
main: {
|
8974
|
+
boxShadow: theme.effects.elevation8,
|
8975
|
+
':focus-within': {
|
8976
|
+
boxShadow: theme.effects.elevation16,
|
8977
|
+
border: `${_pxToRem(2)} solid ${theme.palette.neutralPrimary}`
|
8978
|
+
}
|
8979
|
+
}
|
8980
|
+
}, localVideoModalStyles);
|
8981
|
+
};
|
8982
|
+
/**
|
8983
|
+
* Padding equal to the amount the modal should stay inside the bounds of the container.
|
8984
|
+
* i.e. if this is 8px, the modal should always be at least 8px inside the container at all times on all sides.
|
8985
|
+
* @private
|
8986
|
+
*/
|
8987
|
+
const localVideoTileOuterPaddingPX = 8;
|
8988
|
+
/**
|
8989
|
+
* @private
|
8990
|
+
*/
|
8991
|
+
const floatingLocalVideoTileStyle = {
|
8992
|
+
root: {
|
8993
|
+
position: 'absolute',
|
8994
|
+
zIndex: LOCAL_VIDEO_TILE_ZINDEX,
|
8995
|
+
height: '100%',
|
8996
|
+
width: '100%'
|
8997
|
+
}
|
8998
|
+
};
|
8999
|
+
/**
|
9000
|
+
* Styles for the local video tile modal when it is focused, will cause keyboard move icon to appear over video
|
9001
|
+
* @private
|
9002
|
+
*/
|
9003
|
+
const localVideoModalStyles = {
|
9004
|
+
keyboardMoveIconContainer: {
|
9005
|
+
zIndex: LOCAL_VIDEO_TILE_ZINDEX + 1 // zIndex to set the keyboard movement Icon above the other layers in the video tile.
|
9006
|
+
}
|
9007
|
+
};
|
9008
|
+
|
9009
|
+
// Copyright (c) Microsoft Corporation.
|
9010
|
+
/**
|
9011
|
+
* @private
|
9012
|
+
*/
|
9013
|
+
const horizontalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow) => {
|
9014
|
+
return {
|
9015
|
+
minHeight: isNarrow
|
9016
|
+
? `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`
|
9017
|
+
: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9018
|
+
width: shouldFloatLocalVideo
|
9019
|
+
? isNarrow
|
9020
|
+
? `calc(100% - ${_pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width)})`
|
9021
|
+
: `calc(100% - ${_pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width)})`
|
9022
|
+
: '100%',
|
9023
|
+
paddingRight: '0.5rem'
|
9024
|
+
};
|
9025
|
+
};
|
9026
|
+
/**
|
9027
|
+
* @private
|
9028
|
+
*/
|
9029
|
+
const horizontalGalleryStyle = (isNarrow) => {
|
9030
|
+
return {
|
9031
|
+
children: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_STYLE : LARGE_HORIZONTAL_GALLERY_TILE_STYLE
|
9032
|
+
};
|
9033
|
+
};
|
9034
|
+
/**
|
9035
|
+
* Small horizontal gallery tile size in rem
|
9036
|
+
* @private
|
9037
|
+
*/
|
9038
|
+
const SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 5.5, width: 5.5 };
|
9039
|
+
/**
|
9040
|
+
* Large horizontal gallery tile size in rem
|
9041
|
+
* @private
|
9042
|
+
*/
|
9043
|
+
const LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 7.5, width: 10 };
|
9044
|
+
/**
|
9045
|
+
* @private
|
9046
|
+
*/
|
9047
|
+
const SMALL_HORIZONTAL_GALLERY_TILE_STYLE = {
|
9048
|
+
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9049
|
+
minWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
9050
|
+
maxHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9051
|
+
maxWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
9052
|
+
};
|
9053
|
+
/**
|
9054
|
+
* @private
|
9055
|
+
*/
|
9056
|
+
const LARGE_HORIZONTAL_GALLERY_TILE_STYLE = {
|
9057
|
+
minHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9058
|
+
minWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
9059
|
+
maxHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9060
|
+
maxWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
9061
|
+
};
|
9062
|
+
|
9063
|
+
// Copyright (c) Microsoft Corporation.
|
9064
|
+
/**
|
9065
|
+
* @private
|
9066
|
+
*/
|
9067
|
+
const scrollableHorizontalGalleryStyles = {
|
9068
|
+
root: {
|
9069
|
+
width: '100%',
|
9070
|
+
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9071
|
+
paddingRight: '0.5rem',
|
9072
|
+
'> *': SMALL_HORIZONTAL_GALLERY_TILE_STYLE
|
9073
|
+
}
|
9074
|
+
};
|
9075
|
+
/**
|
9076
|
+
* @private
|
9077
|
+
*/
|
9078
|
+
const scrollableHorizontalGalleryContainerStyles = react.mergeStyles({
|
9079
|
+
display: 'flex',
|
9080
|
+
width: `calc(100% - ${SMALL_FLOATING_MODAL_SIZE_PX.width}px)`,
|
9081
|
+
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9082
|
+
overflow: 'scroll',
|
9083
|
+
'-ms-overflow-style': 'none',
|
9084
|
+
'scrollbar-width': 'none',
|
9085
|
+
'::-webkit-scrollbar': { display: 'none' }
|
9086
|
+
});
|
9087
|
+
|
9088
|
+
// Copyright (c) Microsoft Corporation.
|
9089
|
+
/**
|
9090
|
+
* Component to display elements horizontally in a scrollable container
|
9091
|
+
* @private
|
9092
|
+
*/
|
9093
|
+
const ScrollableHorizontalGallery = (props) => {
|
9094
|
+
const { horizontalGalleryElements } = props;
|
9095
|
+
const ref = React.useRef();
|
9096
|
+
const { events: dragabbleEvents } = reactUseDraggableScroll.useDraggable(ref);
|
9097
|
+
return (React__default['default'].createElement("div", Object.assign({ ref: ref }, dragabbleEvents, { className: scrollableHorizontalGalleryContainerStyles }),
|
9098
|
+
React__default['default'].createElement(react.Stack, { "data-ui-id": "scrollable-horizontal-gallery", horizontal: true, styles: scrollableHorizontalGalleryStyles, tokens: { childrenGap: '0.5rem' } }, horizontalGalleryElements)));
|
9099
|
+
};
|
9100
|
+
|
8905
9101
|
// Copyright (c) Microsoft Corporation.
|
8906
9102
|
// Licensed under the MIT license.
|
8907
9103
|
/**
|
@@ -8911,6 +9107,15 @@ const rootLayoutStyle$1 = {
|
|
8911
9107
|
root: { position: 'relative', height: '100%', width: '100%', padding: '0.5rem' }
|
8912
9108
|
};
|
8913
9109
|
|
9110
|
+
// Copyright (c) Microsoft Corporation.
|
9111
|
+
// Licensed under the MIT license.
|
9112
|
+
/**
|
9113
|
+
* @private
|
9114
|
+
*/
|
9115
|
+
const videoGalleryLayoutGap = {
|
9116
|
+
childrenGap: '0.5rem'
|
9117
|
+
};
|
9118
|
+
|
8914
9119
|
/**
|
8915
9120
|
* Calculates the participants that should be rendered based on the list of dominant
|
8916
9121
|
* speakers and currently rendered participants in a call.
|
@@ -9217,138 +9422,6 @@ const calculateChildrenPerPage = (args) => {
|
|
9217
9422
|
return Math.floor((childrenSpace + gapWidth) / (childWidth + gapWidth));
|
9218
9423
|
};
|
9219
9424
|
|
9220
|
-
// Copyright (c) Microsoft Corporation.
|
9221
|
-
/**
|
9222
|
-
* @private
|
9223
|
-
*/
|
9224
|
-
react.mergeStyles({ position: 'relative', width: '100%', height: '100%' });
|
9225
|
-
/**
|
9226
|
-
* Small floating modal width and height in rem for small screen
|
9227
|
-
*/
|
9228
|
-
const SMALL_FLOATING_MODAL_SIZE_PX = { width: 64, height: 88 };
|
9229
|
-
/**
|
9230
|
-
* Large floating modal width and height in rem for large screen
|
9231
|
-
* Aspect ratio: 16:9
|
9232
|
-
*/
|
9233
|
-
const LARGE_FLOATING_MODAL_SIZE_PX = { width: 215, height: 120 };
|
9234
|
-
/**
|
9235
|
-
* @private
|
9236
|
-
* z-index to ensure that the local video tile is above the video gallery.
|
9237
|
-
*/
|
9238
|
-
const LOCAL_VIDEO_TILE_ZINDEX = 2;
|
9239
|
-
/**
|
9240
|
-
* @private
|
9241
|
-
*/
|
9242
|
-
const localVideoTileContainerStyle = (theme, isNarrow) => {
|
9243
|
-
return Object.assign({ minWidth: isNarrow ? _pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width) : _pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width), minHeight: isNarrow ? _pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.height) : _pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.height), position: 'absolute', bottom: _pxToRem(localVideoTileOuterPaddingPX), borderRadius: theme.effects.roundedCorner4, overflow: 'hidden' }, (theme.rtl
|
9244
|
-
? { left: _pxToRem(localVideoTileOuterPaddingPX) }
|
9245
|
-
: { right: _pxToRem(localVideoTileOuterPaddingPX) }));
|
9246
|
-
};
|
9247
|
-
/**
|
9248
|
-
* @private
|
9249
|
-
*/
|
9250
|
-
const localVideoTileWithControlsContainerStyle = (theme, isNarrow) => {
|
9251
|
-
return react.concatStyleSets(localVideoTileContainerStyle(theme, isNarrow), {
|
9252
|
-
root: { boxShadow: theme.effects.elevation8 }
|
9253
|
-
});
|
9254
|
-
};
|
9255
|
-
/**
|
9256
|
-
* @private
|
9257
|
-
*/
|
9258
|
-
const floatingLocalVideoModalStyle = (theme, isNarrow) => {
|
9259
|
-
return react.concatStyleSets({
|
9260
|
-
main: localVideoTileContainerStyle(theme, isNarrow)
|
9261
|
-
}, {
|
9262
|
-
main: {
|
9263
|
-
boxShadow: theme.effects.elevation8,
|
9264
|
-
':focus-within': {
|
9265
|
-
boxShadow: theme.effects.elevation16,
|
9266
|
-
border: `${_pxToRem(2)} solid ${theme.palette.neutralPrimary}`
|
9267
|
-
}
|
9268
|
-
}
|
9269
|
-
}, localVideoModalStyles);
|
9270
|
-
};
|
9271
|
-
/**
|
9272
|
-
* Padding equal to the amount the modal should stay inside the bounds of the container.
|
9273
|
-
* i.e. if this is 8px, the modal should always be at least 8px inside the container at all times on all sides.
|
9274
|
-
* @private
|
9275
|
-
*/
|
9276
|
-
const localVideoTileOuterPaddingPX = 8;
|
9277
|
-
/**
|
9278
|
-
* @private
|
9279
|
-
*/
|
9280
|
-
const floatingLocalVideoTileStyle = {
|
9281
|
-
root: {
|
9282
|
-
position: 'absolute',
|
9283
|
-
zIndex: LOCAL_VIDEO_TILE_ZINDEX,
|
9284
|
-
height: '100%',
|
9285
|
-
width: '100%'
|
9286
|
-
}
|
9287
|
-
};
|
9288
|
-
/**
|
9289
|
-
* Styles for the local video tile modal when it is focused, will cause keyboard move icon to appear over video
|
9290
|
-
* @private
|
9291
|
-
*/
|
9292
|
-
const localVideoModalStyles = {
|
9293
|
-
keyboardMoveIconContainer: {
|
9294
|
-
zIndex: LOCAL_VIDEO_TILE_ZINDEX + 1 // zIndex to set the keyboard movement Icon above the other layers in the video tile.
|
9295
|
-
}
|
9296
|
-
};
|
9297
|
-
|
9298
|
-
// Copyright (c) Microsoft Corporation.
|
9299
|
-
/**
|
9300
|
-
* @private
|
9301
|
-
*/
|
9302
|
-
const horizontalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow) => {
|
9303
|
-
return {
|
9304
|
-
minHeight: isNarrow
|
9305
|
-
? `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`
|
9306
|
-
: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9307
|
-
width: shouldFloatLocalVideo
|
9308
|
-
? isNarrow
|
9309
|
-
? `calc(100% - ${_pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width)})`
|
9310
|
-
: `calc(100% - ${_pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width)})`
|
9311
|
-
: '100%',
|
9312
|
-
paddingRight: '0.5rem'
|
9313
|
-
};
|
9314
|
-
};
|
9315
|
-
/**
|
9316
|
-
* @private
|
9317
|
-
*/
|
9318
|
-
const horizontalGalleryStyle = (isNarrow) => {
|
9319
|
-
return {
|
9320
|
-
children: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_STYLE : LARGE_HORIZONTAL_GALLERY_TILE_STYLE
|
9321
|
-
};
|
9322
|
-
};
|
9323
|
-
/**
|
9324
|
-
* Small horizontal gallery tile size in rem
|
9325
|
-
* @private
|
9326
|
-
*/
|
9327
|
-
const SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 5.5, width: 5.5 };
|
9328
|
-
/**
|
9329
|
-
* Large horizontal gallery tile size in rem
|
9330
|
-
* @private
|
9331
|
-
*/
|
9332
|
-
const LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 7.5, width: 10 };
|
9333
|
-
/**
|
9334
|
-
* @private
|
9335
|
-
*/
|
9336
|
-
const SMALL_HORIZONTAL_GALLERY_TILE_STYLE = {
|
9337
|
-
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9338
|
-
minWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
9339
|
-
maxHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9340
|
-
maxWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
9341
|
-
};
|
9342
|
-
/**
|
9343
|
-
* @private
|
9344
|
-
*/
|
9345
|
-
const LARGE_HORIZONTAL_GALLERY_TILE_STYLE = {
|
9346
|
-
minHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9347
|
-
minWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
9348
|
-
maxHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9349
|
-
maxWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
9350
|
-
};
|
9351
|
-
|
9352
9425
|
// Copyright (c) Microsoft Corporation.
|
9353
9426
|
/**
|
9354
9427
|
* A ResponsiveHorizontalGallery styled for the {@link VideoGallery}
|
@@ -9359,8 +9432,7 @@ const VideoGalleryResponsiveHorizontalGallery = (props) => {
|
|
9359
9432
|
const { shouldFloatLocalVideo = false, isNarrow = false, horizontalGalleryElements, styles } = props;
|
9360
9433
|
const containerStyles = React.useMemo(() => horizontalGalleryContainerStyle(shouldFloatLocalVideo, isNarrow), [shouldFloatLocalVideo, isNarrow]);
|
9361
9434
|
const galleryStyles = React.useMemo(() => react.concatStyleSets(horizontalGalleryStyle(isNarrow), styles), [isNarrow, styles]);
|
9362
|
-
return (React__default['default'].createElement(
|
9363
|
-
React__default['default'].createElement(ResponsiveHorizontalGallery, { key: "responsive-horizontal-gallery", containerStyles: containerStyles, horizontalGalleryStyles: galleryStyles, childWidthRem: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width : LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width, buttonWidthRem: HORIZONTAL_GALLERY_BUTTON_WIDTH, gapWidthRem: HORIZONTAL_GALLERY_GAP }, horizontalGalleryElements)));
|
9435
|
+
return (React__default['default'].createElement(ResponsiveHorizontalGallery, { key: "responsive-horizontal-gallery", containerStyles: containerStyles, horizontalGalleryStyles: galleryStyles, childWidthRem: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width : LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width, buttonWidthRem: HORIZONTAL_GALLERY_BUTTON_WIDTH, gapWidthRem: HORIZONTAL_GALLERY_GAP }, horizontalGalleryElements));
|
9364
9436
|
};
|
9365
9437
|
|
9366
9438
|
// Copyright (c) Microsoft Corporation.
|
@@ -9395,9 +9467,19 @@ const DefaultLayout = (props) => {
|
|
9395
9467
|
if (localVideoComponent) {
|
9396
9468
|
gridTiles.push(localVideoComponent);
|
9397
9469
|
}
|
9398
|
-
|
9470
|
+
const horizontalGallery = React.useMemo(() => {
|
9471
|
+
if (horizontalGalleryTiles.length === 0) {
|
9472
|
+
return null;
|
9473
|
+
}
|
9474
|
+
/* @conditional-compile-remove(pinned-participants) */
|
9475
|
+
if (isNarrow) {
|
9476
|
+
return React__default['default'].createElement(ScrollableHorizontalGallery, { horizontalGalleryElements: horizontalGalleryTiles });
|
9477
|
+
}
|
9478
|
+
return (React__default['default'].createElement(VideoGalleryResponsiveHorizontalGallery, { isNarrow: isNarrow, shouldFloatLocalVideo: true, horizontalGalleryElements: horizontalGalleryTiles, styles: styles === null || styles === void 0 ? void 0 : styles.horizontalGallery }));
|
9479
|
+
}, [isNarrow, horizontalGalleryTiles, styles === null || styles === void 0 ? void 0 : styles.horizontalGallery]);
|
9480
|
+
return (React__default['default'].createElement(react.Stack, { horizontal: false, styles: rootLayoutStyle$1, tokens: videoGalleryLayoutGap },
|
9399
9481
|
screenShareComponent ? (screenShareComponent) : (React__default['default'].createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
|
9400
|
-
|
9482
|
+
horizontalGallery));
|
9401
9483
|
};
|
9402
9484
|
|
9403
9485
|
// Copyright (c) Microsoft Corporation.
|
@@ -10176,12 +10258,22 @@ const FloatingLocalVideoLayout = (props) => {
|
|
10176
10258
|
boxShadow: theme.effects.elevation8,
|
10177
10259
|
zIndex: LOCAL_VIDEO_TILE_ZINDEX
|
10178
10260
|
}) }, localVideoComponent)) : horizontalGalleryTiles.length > 0 ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileContainerStyle(theme, isNarrow)) }, localVideoComponent)) : (React__default['default'].createElement(FloatingLocalVideo, { localVideoComponent: localVideoComponent, layerHostId: layerHostId, isNarrow: isNarrow, parentWidth: parentWidth, parentHeight: parentHeight }))) : undefined;
|
10261
|
+
const horizontalGallery = React.useMemo(() => {
|
10262
|
+
if (horizontalGalleryTiles.length === 0) {
|
10263
|
+
return null;
|
10264
|
+
}
|
10265
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10266
|
+
if (isNarrow) {
|
10267
|
+
return React__default['default'].createElement(ScrollableHorizontalGallery, { horizontalGalleryElements: horizontalGalleryTiles });
|
10268
|
+
}
|
10269
|
+
return (React__default['default'].createElement(VideoGalleryResponsiveHorizontalGallery, { isNarrow: isNarrow, shouldFloatLocalVideo: true, horizontalGalleryElements: horizontalGalleryTiles, styles: styles === null || styles === void 0 ? void 0 : styles.horizontalGallery }));
|
10270
|
+
}, [isNarrow, horizontalGalleryTiles, styles === null || styles === void 0 ? void 0 : styles.horizontalGallery]);
|
10179
10271
|
return (React__default['default'].createElement(react.Stack, { styles: rootLayoutStyle },
|
10180
|
-
|
10181
|
-
React__default['default'].createElement(react.Stack, { horizontal: false, styles: innerLayoutStyle },
|
10272
|
+
React__default['default'].createElement(react.Stack, { horizontal: false, styles: innerLayoutStyle, tokens: videoGalleryLayoutGap },
|
10182
10273
|
screenShareComponent ? (screenShareComponent) : (React__default['default'].createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
|
10183
|
-
|
10184
|
-
|
10274
|
+
horizontalGallery),
|
10275
|
+
wrappedLocalVideoComponent,
|
10276
|
+
React__default['default'].createElement(react.LayerHost, { id: layerHostId, className: react.mergeStyles(layerHostStyle) })));
|
10185
10277
|
};
|
10186
10278
|
|
10187
10279
|
// Copyright (c) Microsoft Corporation.
|
@@ -10227,11 +10319,12 @@ const PinnedParticipantsLayout = (props) => {
|
|
10227
10319
|
zIndex: LOCAL_VIDEO_TILE_ZINDEX
|
10228
10320
|
}) }, localVideoComponent)) : horizontalGalleryTiles.length > 0 ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileContainerStyle(theme, isNarrow)) }, localVideoComponent)) : (React__default['default'].createElement(FloatingLocalVideo, { localVideoComponent: localVideoComponent, layerHostId: layerHostId, isNarrow: isNarrow, parentWidth: parentWidth, parentHeight: parentHeight }))) : undefined;
|
10229
10321
|
return (React__default['default'].createElement(react.Stack, { styles: rootLayoutStyle },
|
10230
|
-
|
10231
|
-
React__default['default'].createElement(react.Stack, { horizontal: false, styles: innerLayoutStyle },
|
10322
|
+
React__default['default'].createElement(react.Stack, { horizontal: false, styles: innerLayoutStyle, tokens: videoGalleryLayoutGap },
|
10232
10323
|
screenShareComponent ? (screenShareComponent) : (React__default['default'].createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
|
10233
|
-
horizontalGalleryTiles.length > 0 &&
|
10234
|
-
|
10324
|
+
horizontalGalleryTiles.length > 0 &&
|
10325
|
+
(isNarrow ? (React__default['default'].createElement(ScrollableHorizontalGallery, { horizontalGalleryElements: horizontalGalleryTiles })) : (React__default['default'].createElement(VideoGalleryResponsiveHorizontalGallery, { isNarrow: isNarrow, shouldFloatLocalVideo: true, horizontalGalleryElements: horizontalGalleryTiles, styles: styles === null || styles === void 0 ? void 0 : styles.horizontalGallery })))),
|
10326
|
+
wrappedLocalVideoComponent,
|
10327
|
+
React__default['default'].createElement(react.LayerHost, { id: layerHostId, className: react.mergeStyles(layerHostStyle) })));
|
10235
10328
|
};
|
10236
10329
|
|
10237
10330
|
// Copyright (c) Microsoft Corporation.
|
@@ -10351,7 +10444,11 @@ const VideoGallery = (props) => {
|
|
10351
10444
|
/* @conditional-compile-remove(PSTN-calls) */
|
10352
10445
|
participantState: participant.state,
|
10353
10446
|
/* @conditional-compile-remove(pinned-participants) */
|
10354
|
-
|
10447
|
+
menuKind: remoteVideoTileMenuOptions
|
10448
|
+
? remoteVideoTileMenuOptions.kind === 'drawer'
|
10449
|
+
? 'drawer'
|
10450
|
+
: 'contextual'
|
10451
|
+
: undefined,
|
10355
10452
|
/* @conditional-compile-remove(pinned-participants) */
|
10356
10453
|
drawerMenuHostId: drawerMenuHostId,
|
10357
10454
|
/* @conditional-compile-remove(pinned-participants) */
|
@@ -12313,13 +12410,19 @@ const _videoGalleryRemoteParticipantsMemo = (remoteParticipants) => {
|
|
12313
12410
|
return [];
|
12314
12411
|
}
|
12315
12412
|
return memoizedAllConvertRemoteParticipant((memoizedFn) => {
|
12316
|
-
return Object.values(remoteParticipants)
|
12413
|
+
return (Object.values(remoteParticipants)
|
12414
|
+
/**
|
12415
|
+
* hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.
|
12416
|
+
* phone users will be in the connecting state until they are connected to the call.
|
12417
|
+
*/
|
12317
12418
|
.filter((participant) => {
|
12318
|
-
return participant.state !== 'InLobby'
|
12419
|
+
return ((participant.state !== 'InLobby' && participant.state !== 'Idle' && participant.state !== 'Connecting') ||
|
12420
|
+
participant.identifier.kind === 'phoneNumber');
|
12319
12421
|
})
|
12320
12422
|
.map((participant) => {
|
12321
|
-
|
12322
|
-
|
12423
|
+
const state = _isRingingPSTNParticipant(participant);
|
12424
|
+
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, participant.displayName);
|
12425
|
+
}));
|
12323
12426
|
});
|
12324
12427
|
};
|
12325
12428
|
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName) => {
|
@@ -12456,13 +12559,22 @@ const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipan
|
|
12456
12559
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
12457
12560
|
const conversionCallback = (memoizeFn) => {
|
12458
12561
|
return (remoteParticipants
|
12459
|
-
|
12562
|
+
/**
|
12563
|
+
* hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.
|
12564
|
+
* phone users will be in the connecting state until they are connected to the call.
|
12565
|
+
*/
|
12460
12566
|
.filter((participant) => {
|
12461
|
-
return participant.state !== 'InLobby'
|
12567
|
+
return ((participant.state !== 'InLobby' && participant.state !== 'Idle' && participant.state !== 'Connecting') ||
|
12568
|
+
participant.identifier.kind === 'phoneNumber');
|
12462
12569
|
})
|
12463
12570
|
.map((participant) => {
|
12464
12571
|
const isScreenSharing = Object.values(participant.videoStreams).some((videoStream) => videoStream.mediaStreamType === 'ScreenSharing' && videoStream.isAvailable);
|
12465
|
-
|
12572
|
+
/**
|
12573
|
+
* We want to check the participant to see if they are a PSTN participant joining the call
|
12574
|
+
* and mapping their state to be 'Ringing'
|
12575
|
+
*/
|
12576
|
+
const state = _isRingingPSTNParticipant(participant);
|
12577
|
+
return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), participant.displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking,
|
12466
12578
|
/* @conditional-compile-remove(rooms) */ participant.role);
|
12467
12579
|
})
|
12468
12580
|
.sort((a, b) => {
|
@@ -17484,6 +17596,8 @@ const bannerNotificationStyles = {
|
|
17484
17596
|
*/
|
17485
17597
|
const callArrangementContainerStyles = {
|
17486
17598
|
root: {
|
17599
|
+
width: '100%',
|
17600
|
+
height: '100%',
|
17487
17601
|
flexDirection: 'column-reverse' // to allow first initial keyboard focus on ControlBar
|
17488
17602
|
}
|
17489
17603
|
};
|
@@ -18448,7 +18562,7 @@ const CallArrangement = (props) => {
|
|
18448
18562
|
const isMobileWithActivePane = props.mobileView && activePane;
|
18449
18563
|
/* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */
|
18450
18564
|
const callCompositeContainerCSS = React.useMemo(() => {
|
18451
|
-
return { display: isMobileWithActivePane ? 'none' : 'flex' };
|
18565
|
+
return { display: isMobileWithActivePane ? 'none' : 'flex', width: '100%', height: '100%' };
|
18452
18566
|
}, [isMobileWithActivePane]);
|
18453
18567
|
// To be removed once feature is out of beta, replace with callCompositeContainerCSS
|
18454
18568
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|