@azure/communication-react 1.3.3-alpha-202208300017.0 → 1.3.3-alpha-202209020015.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 +23 -5
- package/dist/dist-cjs/communication-react/index.js +310 -305
- 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/react-components/src/components/Announcer.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/Announcer.js +1 -1
- package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +2 -46
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +9 -6
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/index.js +1 -0
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js +3 -0
- package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +13 -15
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +3 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +3 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +8 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +10 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +32 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +15 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +3 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +6 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +9 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +17 -6
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +7 -3
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +7 -5
- 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-
|
195
|
+
var telemetryVersion = '1.3.3-alpha-202209020015.0';
|
196
196
|
|
197
197
|
// Copyright (c) Microsoft Corporation.
|
198
198
|
/**
|
@@ -957,7 +957,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
957
957
|
wordBreak: 'break-word'
|
958
958
|
});
|
959
959
|
|
960
|
-
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On
|
960
|
+
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 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};
|
961
961
|
|
962
962
|
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};
|
963
963
|
|
@@ -2189,7 +2189,7 @@ const VoiceOverButton = (props) => {
|
|
2189
2189
|
|
2190
2190
|
// Copyright (c) Microsoft Corporation.
|
2191
2191
|
/**
|
2192
|
-
* @
|
2192
|
+
* @internal
|
2193
2193
|
* Announcer component to maker aria announcements on actions
|
2194
2194
|
*/
|
2195
2195
|
const Announcer = (props) => {
|
@@ -2275,12 +2275,6 @@ const useLocaleFileCardStringsTrampoline = () => {
|
|
2275
2275
|
/* @conditional-compile-remove(file-sharing) */
|
2276
2276
|
return useLocale$1().strings.sendBox;
|
2277
2277
|
};
|
2278
|
-
/**
|
2279
|
-
* Identify if a participant state if part of the Calling states or Hold states.
|
2280
|
-
*/
|
2281
|
-
const _isParticipantStateCallingOrHold = (participantState) => {
|
2282
|
-
return !!participantState && ['Idle', 'Connecting', 'EarlyMedia', 'Ringing', 'Hold'].includes(participantState);
|
2283
|
-
};
|
2284
2278
|
|
2285
2279
|
// Copyright (c) Microsoft Corporation.
|
2286
2280
|
/**
|
@@ -4813,9 +4807,10 @@ const overlayContainerStyles = {
|
|
4813
4807
|
*/
|
4814
4808
|
const tileInfoContainerStyle = react.mergeStyles({
|
4815
4809
|
position: 'absolute',
|
4816
|
-
bottom: '0
|
4817
|
-
left: '0
|
4818
|
-
|
4810
|
+
bottom: '0',
|
4811
|
+
left: '0',
|
4812
|
+
padding: '0.5rem',
|
4813
|
+
width: '100%'
|
4819
4814
|
});
|
4820
4815
|
/**
|
4821
4816
|
* @private
|
@@ -4853,30 +4848,27 @@ const displayNameStyle = {
|
|
4853
4848
|
/**
|
4854
4849
|
* @private
|
4855
4850
|
*/
|
4856
|
-
const iconContainerStyle = {
|
4857
|
-
|
4851
|
+
const iconContainerStyle = (theme) => ({
|
4852
|
+
margin: 'auto',
|
4858
4853
|
alignItems: 'center',
|
4859
4854
|
'& svg': {
|
4860
|
-
display: 'block'
|
4855
|
+
display: 'block',
|
4856
|
+
color: theme.palette.neutralPrimary
|
4861
4857
|
}
|
4862
|
-
};
|
4858
|
+
});
|
4863
4859
|
/**
|
4864
4860
|
* @private
|
4865
4861
|
*/
|
4866
|
-
const participantStateStringStyles = (
|
4862
|
+
const participantStateStringStyles = (theme) => {
|
4867
4863
|
return {
|
4868
|
-
|
4869
|
-
|
4870
|
-
color: 'inherit',
|
4871
|
-
width: showLabel ? 'auto' : '100%',
|
4872
|
-
marginRight: showLabel ? 0 : 'none',
|
4873
|
-
marginLeft: showLabel ? 'auto' : 'none',
|
4864
|
+
minWidth: 'max-content',
|
4865
|
+
color: theme.palette.black,
|
4874
4866
|
fontSize: '0.75rem',
|
4875
4867
|
lineHeight: 'normal',
|
4876
4868
|
overflow: 'hidden',
|
4877
4869
|
textOverflow: 'ellipsis',
|
4878
4870
|
whiteSpace: 'nowrap',
|
4879
|
-
padding: '0.
|
4871
|
+
padding: '0.1rem'
|
4880
4872
|
};
|
4881
4873
|
};
|
4882
4874
|
|
@@ -4955,13 +4947,13 @@ const VideoTile = (props) => {
|
|
4955
4947
|
height: '100%'
|
4956
4948
|
}
|
4957
4949
|
}, styles === null || styles === void 0 ? void 0 : styles.root) },
|
4958
|
-
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) }, onRenderPlaceholder ? (onRenderPlaceholder(userId !== null && userId !== void 0 ? userId : '', placeholderOptions, DefaultPlaceholder)) : (React__default['default'].createElement(DefaultPlaceholder, Object.assign({}, placeholderOptions))))),
|
4950
|
+
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), style: { opacity: participantStateString ? 0.4 : 1 } }, onRenderPlaceholder ? (onRenderPlaceholder(userId !== null && userId !== void 0 ? userId : '', placeholderOptions, DefaultPlaceholder)) : (React__default['default'].createElement(DefaultPlaceholder, Object.assign({}, placeholderOptions))))),
|
4959
4951
|
(canShowLabel || participantStateString) && (React__default['default'].createElement(react.Stack, { horizontal: true, className: tileInfoContainerStyle, tokens: tileInfoContainerTokens },
|
4960
|
-
|
4961
|
-
React__default['default'].createElement(react.Text, { className: react.mergeStyles(displayNameStyle), title: displayName }, displayName),
|
4962
|
-
|
4963
|
-
|
4964
|
-
|
4952
|
+
React__default['default'].createElement(react.Stack, { horizontal: true, className: tileInfoStyle },
|
4953
|
+
canShowLabel && (React__default['default'].createElement(react.Text, { className: react.mergeStyles(displayNameStyle), title: displayName, style: { color: participantStateString ? theme.palette.neutralSecondary : 'inherit' } }, displayName)),
|
4954
|
+
participantStateString && (React__default['default'].createElement(react.Text, { className: react.mergeStyles(participantStateStringStyles(theme)) }, bracketedParticipantString(participantStateString, !!canShowLabel))),
|
4955
|
+
showMuteIndicator && isMuted && (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle(theme)) },
|
4956
|
+
React__default['default'].createElement(react.Icon, { iconName: "VideoTileMicOff" })))))),
|
4965
4957
|
children && (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(overlayContainerStyles, styles === null || styles === void 0 ? void 0 : styles.overlayContainer) }, children)))));
|
4966
4958
|
};
|
4967
4959
|
const participantStateStringTrampoline = (props, locale) => {
|
@@ -4983,184 +4975,8 @@ const tileInfoContainerTokens = {
|
|
4983
4975
|
// We need to allow the children to set their own margins
|
4984
4976
|
childrenGap: 'none'
|
4985
4977
|
};
|
4986
|
-
|
4987
|
-
|
4988
|
-
/**
|
4989
|
-
* @private
|
4990
|
-
*/
|
4991
|
-
const videoGalleryOuterDivStyle = react.mergeStyles({ position: 'relative', width: '100%', height: '100%' });
|
4992
|
-
/**
|
4993
|
-
* @private
|
4994
|
-
*/
|
4995
|
-
const videoGalleryContainerStyle = {
|
4996
|
-
root: { position: 'relative', height: '100%', width: '100%', padding: '0.5rem' }
|
4997
|
-
};
|
4998
|
-
/**
|
4999
|
-
* Small floating modal width and height in rem for small screen
|
5000
|
-
*/
|
5001
|
-
const SMALL_FLOATING_MODAL_SIZE_PX = { width: 64, height: 88 };
|
5002
|
-
/**
|
5003
|
-
* Large floating modal width and height in rem for large screen
|
5004
|
-
*/
|
5005
|
-
const LARGE_FLOATING_MODAL_SIZE_PX = { width: 160, height: 120 };
|
5006
|
-
/**
|
5007
|
-
* @private
|
5008
|
-
* z-index to ensure that the local video tile is above the video gallery.
|
5009
|
-
*/
|
5010
|
-
const LOCAL_VIDEO_TILE_ZINDEX = 2;
|
5011
|
-
/**
|
5012
|
-
* @private
|
5013
|
-
*/
|
5014
|
-
const floatingLocalVideoModalStyle = (theme, isNarrow) => {
|
5015
|
-
return react.concatStyleSets({
|
5016
|
-
main: localVideoTileContainerStyle(theme, isNarrow)
|
5017
|
-
}, {
|
5018
|
-
main: {
|
5019
|
-
boxShadow: theme.effects.elevation8,
|
5020
|
-
':focus-within': {
|
5021
|
-
boxShadow: theme.effects.elevation16,
|
5022
|
-
border: `${_pxToRem(2)} solid ${theme.palette.neutralPrimary}`
|
5023
|
-
}
|
5024
|
-
}
|
5025
|
-
}, localVideoModalStyles);
|
5026
|
-
};
|
5027
|
-
/**
|
5028
|
-
* Padding equal to the amount the modal should stay inside the bounds of the container.
|
5029
|
-
* i.e. if this is 8px, the modal should always be at least 8px inside the container at all times on all sides.
|
5030
|
-
* @private
|
5031
|
-
*/
|
5032
|
-
const localVideoTileOuterPaddingPX = 8;
|
5033
|
-
/**
|
5034
|
-
* @private
|
5035
|
-
*/
|
5036
|
-
const localVideoTileContainerStyle = (theme, isNarrow) => {
|
5037
|
-
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
|
5038
|
-
? { left: _pxToRem(localVideoTileOuterPaddingPX) }
|
5039
|
-
: { right: _pxToRem(localVideoTileOuterPaddingPX) }));
|
5040
|
-
};
|
5041
|
-
/**
|
5042
|
-
* @private
|
5043
|
-
*/
|
5044
|
-
const localVideoTileWithControlsContainerStyle = (theme, isNarrow) => {
|
5045
|
-
return react.concatStyleSets(localVideoTileContainerStyle(theme, isNarrow), {
|
5046
|
-
root: { boxShadow: theme.effects.elevation8 }
|
5047
|
-
});
|
5048
|
-
};
|
5049
|
-
/**
|
5050
|
-
* @private
|
5051
|
-
*/
|
5052
|
-
const floatingLocalVideoTileStyle = {
|
5053
|
-
root: {
|
5054
|
-
position: 'absolute',
|
5055
|
-
zIndex: LOCAL_VIDEO_TILE_ZINDEX,
|
5056
|
-
height: '100%',
|
5057
|
-
width: '100%'
|
5058
|
-
}
|
5059
|
-
};
|
5060
|
-
/**
|
5061
|
-
* @private
|
5062
|
-
*/
|
5063
|
-
const horizontalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow) => {
|
5064
|
-
return {
|
5065
|
-
minHeight: isNarrow
|
5066
|
-
? `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`
|
5067
|
-
: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5068
|
-
width: shouldFloatLocalVideo
|
5069
|
-
? isNarrow
|
5070
|
-
? `calc(100% - ${_pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width)})`
|
5071
|
-
: `calc(100% - ${_pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width)})`
|
5072
|
-
: '100%',
|
5073
|
-
paddingRight: '0.5rem'
|
5074
|
-
};
|
5075
|
-
};
|
5076
|
-
/**
|
5077
|
-
* @private
|
5078
|
-
*/
|
5079
|
-
const horizontalGalleryStyle = (isNarrow) => {
|
5080
|
-
return {
|
5081
|
-
children: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_STYLE : LARGE_HORIZONTAL_GALLERY_TILE_STYLE
|
5082
|
-
};
|
5083
|
-
};
|
5084
|
-
/**
|
5085
|
-
* Small horizontal gallery tile size in rem
|
5086
|
-
* @private
|
5087
|
-
*/
|
5088
|
-
const SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 5.5, width: 5.5 };
|
5089
|
-
/**
|
5090
|
-
* Large horizontal gallery tile size in rem
|
5091
|
-
* @private
|
5092
|
-
*/
|
5093
|
-
const LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 7.5, width: 10 };
|
5094
|
-
/**
|
5095
|
-
* @private
|
5096
|
-
*/
|
5097
|
-
const SMALL_HORIZONTAL_GALLERY_TILE_STYLE = {
|
5098
|
-
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5099
|
-
minWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
5100
|
-
maxHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5101
|
-
maxWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
5102
|
-
};
|
5103
|
-
/**
|
5104
|
-
* @private
|
5105
|
-
*/
|
5106
|
-
const LARGE_HORIZONTAL_GALLERY_TILE_STYLE = {
|
5107
|
-
minHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5108
|
-
minWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
5109
|
-
maxHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5110
|
-
maxWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
5111
|
-
};
|
5112
|
-
/**
|
5113
|
-
* @private
|
5114
|
-
*/
|
5115
|
-
const layerHostStyle = {
|
5116
|
-
position: 'absolute',
|
5117
|
-
left: 0,
|
5118
|
-
top: 0,
|
5119
|
-
width: '100%',
|
5120
|
-
height: '100%',
|
5121
|
-
overflow: 'hidden',
|
5122
|
-
// pointer events for layerHost set to none to make descendants interactive
|
5123
|
-
pointerEvents: 'none'
|
5124
|
-
};
|
5125
|
-
/**
|
5126
|
-
* @private
|
5127
|
-
*/
|
5128
|
-
const localVideoCameraCycleButtonStyles = (theme) => {
|
5129
|
-
return {
|
5130
|
-
root: {
|
5131
|
-
position: 'absolute',
|
5132
|
-
width: _pxToRem(32),
|
5133
|
-
height: _pxToRem(32),
|
5134
|
-
right: '0rem',
|
5135
|
-
top: '0rem',
|
5136
|
-
color: '#FFFFFF',
|
5137
|
-
zIndex: 2,
|
5138
|
-
background: 'rgba(0,0,0,0.4)',
|
5139
|
-
borderRadius: theme.effects.roundedCorner2
|
5140
|
-
},
|
5141
|
-
rootFocused: {
|
5142
|
-
// styles to remove the unwanted white highlight and blue colour after tapping on button.
|
5143
|
-
color: '#FFFFFF',
|
5144
|
-
background: 'rgba(0,0,0,0.4)' // sets opacity of background to be visible on all backdrops in video stream.
|
5145
|
-
},
|
5146
|
-
icon: {
|
5147
|
-
paddingLeft: _pxToRem(3),
|
5148
|
-
paddingRight: _pxToRem(3),
|
5149
|
-
margin: 0
|
5150
|
-
},
|
5151
|
-
flexContainer: {
|
5152
|
-
paddingBottom: _pxToRem(8)
|
5153
|
-
}
|
5154
|
-
};
|
5155
|
-
};
|
5156
|
-
/**
|
5157
|
-
* Styles for the local video tile modal when it is focused, will cause keyboard move icon to appear over video
|
5158
|
-
* @private
|
5159
|
-
*/
|
5160
|
-
const localVideoModalStyles = {
|
5161
|
-
keyboardMoveIconContainer: {
|
5162
|
-
zIndex: LOCAL_VIDEO_TILE_ZINDEX + 1 // zIndex to set the keyboard movement Icon above the other layers in the video tile.
|
5163
|
-
}
|
4978
|
+
const bracketedParticipantString = (participantString, withBrackets) => {
|
4979
|
+
return withBrackets ? `(${participantString})` : participantString;
|
5164
4980
|
};
|
5165
4981
|
|
5166
4982
|
// Copyright (c) Microsoft Corporation.
|
@@ -5174,9 +4990,6 @@ const localVideoModalStyles = {
|
|
5174
4990
|
const _RemoteVideoTile = React__default['default'].memo((props) => {
|
5175
4991
|
const { isAvailable, isReceiving = true, // default to true to prevent any breaking change
|
5176
4992
|
isMuted, isSpeaking, isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, displayName, onRenderAvatar, showMuteIndicator } = props;
|
5177
|
-
const containerRef = React__default['default'].useRef(null);
|
5178
|
-
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
5179
|
-
const containerWidth = _useContainerWidth(containerRef);
|
5180
4993
|
const remoteVideoStreamProps = React.useMemo(() => ({
|
5181
4994
|
isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored,
|
5182
4995
|
isScreenSharingOn,
|
@@ -5209,45 +5022,11 @@ const _RemoteVideoTile = React__default['default'].memo((props) => {
|
|
5209
5022
|
}
|
5210
5023
|
return (React__default['default'].createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving === false ? 'loading' : 'none' }));
|
5211
5024
|
}, [renderElement, isReceiving]);
|
5212
|
-
|
5213
|
-
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
5214
|
-
return canShowLabel(props.participantState, props.showLabel, containerWidth);
|
5215
|
-
}, [
|
5025
|
+
return (React__default['default'].createElement(VideoTile, { key: userId, userId: userId, renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: isMuted, isSpeaking: isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel,
|
5216
5026
|
/* @conditional-compile-remove(one-to-n-calling) */
|
5217
5027
|
/* @conditional-compile-remove(PSTN-calls) */
|
5218
|
-
|
5219
|
-
props
|
5220
|
-
]);
|
5221
|
-
return (
|
5222
|
-
// IMPORTANT: This div needs to be a flex so that the children take up its full width and height
|
5223
|
-
React__default['default'].createElement("div", { ref: containerRef, style: { display: 'flex', flexGrow: 1 } },
|
5224
|
-
React__default['default'].createElement(VideoTile, { key: userId, userId: userId, renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: isMuted, isSpeaking: isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: showLabelTrampoline,
|
5225
|
-
/* @conditional-compile-remove(one-to-n-calling) */
|
5226
|
-
/* @conditional-compile-remove(PSTN-calls) */
|
5227
|
-
participantState: props.participantState })));
|
5028
|
+
participantState: props.participantState }));
|
5228
5029
|
});
|
5229
|
-
/* @conditional-compile-remove(one-to-n-calling) */
|
5230
|
-
/* @conditional-compile-remove(PSTN-calls) */
|
5231
|
-
/**
|
5232
|
-
* Determines if a label should be shown for a remote video tile.
|
5233
|
-
* When the remote video tile is rendered as a small tile in horizontal gallery,
|
5234
|
-
* we hide the participants name if they are in hold/connecting states.
|
5235
|
-
*/
|
5236
|
-
const canShowLabel = (participantState, showLabel, containerWidth) => {
|
5237
|
-
// if showLabel has been explicitly set to false, don't show the label
|
5238
|
-
if (showLabel === false) {
|
5239
|
-
return showLabel;
|
5240
|
-
}
|
5241
|
-
// If the participant state is in calling or hold and
|
5242
|
-
// the container width is less than the small horizontal gallery tile size,
|
5243
|
-
// don't show the label (participant name)
|
5244
|
-
if (_isParticipantStateCallingOrHold(participantState)) {
|
5245
|
-
if (containerWidth && containerWidth / 16 <= SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width) {
|
5246
|
-
return false;
|
5247
|
-
}
|
5248
|
-
}
|
5249
|
-
return showLabel;
|
5250
|
-
};
|
5251
5030
|
|
5252
5031
|
// Copyright (c) Microsoft Corporation.
|
5253
5032
|
// Licensed under the MIT license.
|
@@ -5397,6 +5176,185 @@ const calculateChildrenPerPage = (args) => {
|
|
5397
5176
|
return Math.floor((childrenSpace + gapWidth) / (childWidth + gapWidth));
|
5398
5177
|
};
|
5399
5178
|
|
5179
|
+
// Copyright (c) Microsoft Corporation.
|
5180
|
+
/**
|
5181
|
+
* @private
|
5182
|
+
*/
|
5183
|
+
const videoGalleryOuterDivStyle = react.mergeStyles({ position: 'relative', width: '100%', height: '100%' });
|
5184
|
+
/**
|
5185
|
+
* @private
|
5186
|
+
*/
|
5187
|
+
const videoGalleryContainerStyle = {
|
5188
|
+
root: { position: 'relative', height: '100%', width: '100%', padding: '0.5rem' }
|
5189
|
+
};
|
5190
|
+
/**
|
5191
|
+
* Small floating modal width and height in rem for small screen
|
5192
|
+
*/
|
5193
|
+
const SMALL_FLOATING_MODAL_SIZE_PX = { width: 64, height: 88 };
|
5194
|
+
/**
|
5195
|
+
* Large floating modal width and height in rem for large screen
|
5196
|
+
*/
|
5197
|
+
const LARGE_FLOATING_MODAL_SIZE_PX = { width: 160, height: 120 };
|
5198
|
+
/**
|
5199
|
+
* @private
|
5200
|
+
* z-index to ensure that the local video tile is above the video gallery.
|
5201
|
+
*/
|
5202
|
+
const LOCAL_VIDEO_TILE_ZINDEX = 2;
|
5203
|
+
/**
|
5204
|
+
* @private
|
5205
|
+
*/
|
5206
|
+
const floatingLocalVideoModalStyle = (theme, isNarrow) => {
|
5207
|
+
return react.concatStyleSets({
|
5208
|
+
main: localVideoTileContainerStyle(theme, isNarrow)
|
5209
|
+
}, {
|
5210
|
+
main: {
|
5211
|
+
boxShadow: theme.effects.elevation8,
|
5212
|
+
':focus-within': {
|
5213
|
+
boxShadow: theme.effects.elevation16,
|
5214
|
+
border: `${_pxToRem(2)} solid ${theme.palette.neutralPrimary}`
|
5215
|
+
}
|
5216
|
+
}
|
5217
|
+
}, localVideoModalStyles);
|
5218
|
+
};
|
5219
|
+
/**
|
5220
|
+
* Padding equal to the amount the modal should stay inside the bounds of the container.
|
5221
|
+
* i.e. if this is 8px, the modal should always be at least 8px inside the container at all times on all sides.
|
5222
|
+
* @private
|
5223
|
+
*/
|
5224
|
+
const localVideoTileOuterPaddingPX = 8;
|
5225
|
+
/**
|
5226
|
+
* @private
|
5227
|
+
*/
|
5228
|
+
const localVideoTileContainerStyle = (theme, isNarrow) => {
|
5229
|
+
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
|
5230
|
+
? { left: _pxToRem(localVideoTileOuterPaddingPX) }
|
5231
|
+
: { right: _pxToRem(localVideoTileOuterPaddingPX) }));
|
5232
|
+
};
|
5233
|
+
/**
|
5234
|
+
* @private
|
5235
|
+
*/
|
5236
|
+
const localVideoTileWithControlsContainerStyle = (theme, isNarrow) => {
|
5237
|
+
return react.concatStyleSets(localVideoTileContainerStyle(theme, isNarrow), {
|
5238
|
+
root: { boxShadow: theme.effects.elevation8 }
|
5239
|
+
});
|
5240
|
+
};
|
5241
|
+
/**
|
5242
|
+
* @private
|
5243
|
+
*/
|
5244
|
+
const floatingLocalVideoTileStyle = {
|
5245
|
+
root: {
|
5246
|
+
position: 'absolute',
|
5247
|
+
zIndex: LOCAL_VIDEO_TILE_ZINDEX,
|
5248
|
+
height: '100%',
|
5249
|
+
width: '100%'
|
5250
|
+
}
|
5251
|
+
};
|
5252
|
+
/**
|
5253
|
+
* @private
|
5254
|
+
*/
|
5255
|
+
const horizontalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow) => {
|
5256
|
+
return {
|
5257
|
+
minHeight: isNarrow
|
5258
|
+
? `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`
|
5259
|
+
: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5260
|
+
width: shouldFloatLocalVideo
|
5261
|
+
? isNarrow
|
5262
|
+
? `calc(100% - ${_pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width)})`
|
5263
|
+
: `calc(100% - ${_pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width)})`
|
5264
|
+
: '100%',
|
5265
|
+
paddingRight: '0.5rem'
|
5266
|
+
};
|
5267
|
+
};
|
5268
|
+
/**
|
5269
|
+
* @private
|
5270
|
+
*/
|
5271
|
+
const horizontalGalleryStyle = (isNarrow) => {
|
5272
|
+
return {
|
5273
|
+
children: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_STYLE : LARGE_HORIZONTAL_GALLERY_TILE_STYLE
|
5274
|
+
};
|
5275
|
+
};
|
5276
|
+
/**
|
5277
|
+
* Small horizontal gallery tile size in rem
|
5278
|
+
* @private
|
5279
|
+
*/
|
5280
|
+
const SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 5.5, width: 5.5 };
|
5281
|
+
/**
|
5282
|
+
* Large horizontal gallery tile size in rem
|
5283
|
+
* @private
|
5284
|
+
*/
|
5285
|
+
const LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 7.5, width: 10 };
|
5286
|
+
/**
|
5287
|
+
* @private
|
5288
|
+
*/
|
5289
|
+
const SMALL_HORIZONTAL_GALLERY_TILE_STYLE = {
|
5290
|
+
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5291
|
+
minWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
5292
|
+
maxHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5293
|
+
maxWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
5294
|
+
};
|
5295
|
+
/**
|
5296
|
+
* @private
|
5297
|
+
*/
|
5298
|
+
const LARGE_HORIZONTAL_GALLERY_TILE_STYLE = {
|
5299
|
+
minHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5300
|
+
minWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
5301
|
+
maxHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
5302
|
+
maxWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
5303
|
+
};
|
5304
|
+
/**
|
5305
|
+
* @private
|
5306
|
+
*/
|
5307
|
+
const layerHostStyle = {
|
5308
|
+
position: 'absolute',
|
5309
|
+
left: 0,
|
5310
|
+
top: 0,
|
5311
|
+
width: '100%',
|
5312
|
+
height: '100%',
|
5313
|
+
overflow: 'hidden',
|
5314
|
+
// pointer events for layerHost set to none to make descendants interactive
|
5315
|
+
pointerEvents: 'none'
|
5316
|
+
};
|
5317
|
+
/**
|
5318
|
+
* @private
|
5319
|
+
*/
|
5320
|
+
const localVideoCameraCycleButtonStyles = (theme) => {
|
5321
|
+
return {
|
5322
|
+
root: {
|
5323
|
+
position: 'absolute',
|
5324
|
+
width: _pxToRem(32),
|
5325
|
+
height: _pxToRem(32),
|
5326
|
+
right: '0rem',
|
5327
|
+
top: '0rem',
|
5328
|
+
color: '#FFFFFF',
|
5329
|
+
zIndex: 2,
|
5330
|
+
background: 'rgba(0,0,0,0.4)',
|
5331
|
+
borderRadius: theme.effects.roundedCorner2
|
5332
|
+
},
|
5333
|
+
rootFocused: {
|
5334
|
+
// styles to remove the unwanted white highlight and blue colour after tapping on button.
|
5335
|
+
color: '#FFFFFF',
|
5336
|
+
background: 'rgba(0,0,0,0.4)' // sets opacity of background to be visible on all backdrops in video stream.
|
5337
|
+
},
|
5338
|
+
icon: {
|
5339
|
+
paddingLeft: _pxToRem(3),
|
5340
|
+
paddingRight: _pxToRem(3),
|
5341
|
+
margin: 0
|
5342
|
+
},
|
5343
|
+
flexContainer: {
|
5344
|
+
paddingBottom: _pxToRem(8)
|
5345
|
+
}
|
5346
|
+
};
|
5347
|
+
};
|
5348
|
+
/**
|
5349
|
+
* Styles for the local video tile modal when it is focused, will cause keyboard move icon to appear over video
|
5350
|
+
* @private
|
5351
|
+
*/
|
5352
|
+
const localVideoModalStyles = {
|
5353
|
+
keyboardMoveIconContainer: {
|
5354
|
+
zIndex: LOCAL_VIDEO_TILE_ZINDEX + 1 // zIndex to set the keyboard movement Icon above the other layers in the video tile.
|
5355
|
+
}
|
5356
|
+
};
|
5357
|
+
|
5400
5358
|
// Copyright (c) Microsoft Corporation.
|
5401
5359
|
/**
|
5402
5360
|
* @private
|
@@ -7299,7 +7257,7 @@ const DrawerMenuItem = (props) => {
|
|
7299
7257
|
const onClick = (ev) => props.onItemClick && props.onItemClick(ev, props.itemKey);
|
7300
7258
|
const onKeyPress = (ev) => onClick && submitWithKeyboard(ev, onClick);
|
7301
7259
|
const secondaryIcon = props.secondaryIconProps ? (React__default['default'].createElement(MenuItemIcon, Object.assign({}, props.secondaryIconProps))) : props.subMenuProps ? (React__default['default'].createElement(MenuItemIcon, { iconName: "ChevronRight" })) : undefined;
|
7302
|
-
return (React__default['default'].createElement(react.Stack, { tabIndex: 0, role: "menuitem", horizontal: true, className: react.mergeStyles(drawerMenuItemRootStyles(theme.palette.neutralLight, theme.fonts.small), props.disabled ? disabledDrawerMenuItemRootStyles(theme.palette.neutralQuaternaryAlt) : undefined, (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), onKeyPress: onKeyPress, onClick: onClick, tokens: menuItemChildrenGap },
|
7260
|
+
return (React__default['default'].createElement(react.Stack, { tabIndex: 0, role: "menuitem", horizontal: true, className: react.mergeStyles(drawerMenuItemRootStyles(theme.palette.neutralLight, theme.fonts.small), props.disabled ? disabledDrawerMenuItemRootStyles(theme.palette.neutralQuaternaryAlt) : undefined, (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), onKeyPress: props.disabled ? undefined : onKeyPress, onClick: props.disabled ? undefined : onClick, tokens: menuItemChildrenGap },
|
7303
7261
|
props.iconProps && (React__default['default'].createElement(react.Stack.Item, { role: "presentation", styles: props.disabled ? { root: { color: theme.palette.neutralTertiaryAlt } } : undefined },
|
7304
7262
|
React__default['default'].createElement(MenuItemIcon, Object.assign({}, props.iconProps)))),
|
7305
7263
|
React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, grow: true },
|
@@ -7774,6 +7732,9 @@ const iconButtonStyles = (theme) => {
|
|
7774
7732
|
return {
|
7775
7733
|
root: {
|
7776
7734
|
color: `${theme.palette.black}`
|
7735
|
+
},
|
7736
|
+
icon: {
|
7737
|
+
height: 'auto'
|
7777
7738
|
}
|
7778
7739
|
};
|
7779
7740
|
};
|
@@ -12791,7 +12752,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
|
|
12791
12752
|
*/
|
12792
12753
|
const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
|
12793
12754
|
|
12794
|
-
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",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
|
12755
|
+
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};
|
12795
12756
|
|
12796
12757
|
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};
|
12797
12758
|
|
@@ -14454,7 +14415,8 @@ const END_CALL_PAGES = [
|
|
14454
14415
|
|
14455
14416
|
// Copyright (c) Microsoft Corporation.
|
14456
14417
|
const ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;
|
14457
|
-
const
|
14418
|
+
const REMOTE_PSTN_USER_HUNG_UP = 560000;
|
14419
|
+
const REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];
|
14458
14420
|
/**
|
14459
14421
|
* @private
|
14460
14422
|
*/
|
@@ -14499,11 +14461,24 @@ var CallEndReasons;
|
|
14499
14461
|
CallEndReasons[CallEndReasons["REMOVED_FROM_CALL"] = 2] = "REMOVED_FROM_CALL";
|
14500
14462
|
})(CallEndReasons || (CallEndReasons = {}));
|
14501
14463
|
const getCallEndReason = (call) => {
|
14502
|
-
var _a, _b;
|
14503
|
-
|
14464
|
+
var _a, _b, _c;
|
14465
|
+
const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));
|
14466
|
+
/**
|
14467
|
+
* Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.
|
14468
|
+
* The code and subcode is the same as when a user is removed from a teams interop call.
|
14469
|
+
* Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.
|
14470
|
+
* If yes, the caller was kicked out of the call, but we need to show them that they left the call.
|
14471
|
+
* Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.
|
14472
|
+
*/
|
14473
|
+
if (remoteParticipantsEndedArray.length === 1 &&
|
14474
|
+
communicationCommon.isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&
|
14475
|
+
((_a = call.callEndReason) === null || _a === void 0 ? void 0 : _a.subCode) !== REMOTE_PSTN_USER_HUNG_UP) {
|
14476
|
+
return CallEndReasons.LEFT_CALL;
|
14477
|
+
}
|
14478
|
+
if (((_b = call.callEndReason) === null || _b === void 0 ? void 0 : _b.subCode) && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {
|
14504
14479
|
return CallEndReasons.ACCESS_DENIED;
|
14505
14480
|
}
|
14506
|
-
if (((
|
14481
|
+
if (((_c = call.callEndReason) === null || _c === void 0 ? void 0 : _c.subCode) && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {
|
14507
14482
|
return CallEndReasons.REMOVED_FROM_CALL;
|
14508
14483
|
}
|
14509
14484
|
if (call.callEndReason) {
|
@@ -14610,6 +14585,19 @@ const disableCallControls = (callControlOptions, disabledControls) => {
|
|
14610
14585
|
}
|
14611
14586
|
return newOptions;
|
14612
14587
|
};
|
14588
|
+
/**
|
14589
|
+
* Check if a disabled object is provided for a button and returns if the button is disabled.
|
14590
|
+
*
|
14591
|
+
* @param option
|
14592
|
+
* @returns whether a button is disabled
|
14593
|
+
* @private
|
14594
|
+
*/
|
14595
|
+
const isDisabled$2 = (option) => {
|
14596
|
+
if (typeof option !== 'boolean') {
|
14597
|
+
return !!(option === null || option === void 0 ? void 0 : option.disabled);
|
14598
|
+
}
|
14599
|
+
return option;
|
14600
|
+
};
|
14613
14601
|
|
14614
14602
|
// Copyright (c) Microsoft Corporation.
|
14615
14603
|
// Licensed under the MIT license.
|
@@ -14978,9 +14966,9 @@ const Participants = (props) => {
|
|
14978
14966
|
var _a;
|
14979
14967
|
return concatButtonBaseStyles(props.increaseFlyoutItemSize ? participantButtonWithIncreasedTouchTargets : {}, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
|
14980
14968
|
}, [props.increaseFlyoutItemSize, props.styles]);
|
14981
|
-
return (React__default['default'].createElement(ParticipantsButton, Object.assign({ "data-ui-id": "call-composite-participants-button" }, participantsButtonProps, { showLabel: props.displayType !== 'compact', callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, disabled: isDisabled$
|
14969
|
+
return (React__default['default'].createElement(ParticipantsButton, Object.assign({ "data-ui-id": "call-composite-participants-button" }, participantsButtonProps, { showLabel: props.displayType !== 'compact', callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, disabled: isDisabled$1(props.option) || props.disabled, styles: participantsButtonStyles, showParticipantOverflowTooltip: !props.isMobile })));
|
14982
14970
|
};
|
14983
|
-
const isDisabled$
|
14971
|
+
const isDisabled$1 = (option) => {
|
14984
14972
|
if (option === undefined || option === true || option === false) {
|
14985
14973
|
return false;
|
14986
14974
|
}
|
@@ -14994,11 +14982,11 @@ const ScreenShare = (props) => {
|
|
14994
14982
|
const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
|
14995
14983
|
const screenShareButtonDisabled = () => {
|
14996
14984
|
/* @conditional-compile-remove(PSTN-calls) */
|
14997
|
-
return (screenShareButtonProps === null || screenShareButtonProps === void 0 ? void 0 : screenShareButtonProps.disabled) ? screenShareButtonProps.disabled : isDisabled
|
14985
|
+
return (screenShareButtonProps === null || screenShareButtonProps === void 0 ? void 0 : screenShareButtonProps.disabled) ? screenShareButtonProps.disabled : isDisabled(props.option);
|
14998
14986
|
};
|
14999
14987
|
return (React__default['default'].createElement(ScreenShareButton, Object.assign({ "data-ui-id": "call-composite-screenshare-button" }, screenShareButtonProps, { showLabel: props.displayType !== 'compact', disabled: screenShareButtonDisabled() || props.disabled, styles: styles })));
|
15000
14988
|
};
|
15001
|
-
const isDisabled
|
14989
|
+
const isDisabled = (option) => {
|
15002
14990
|
if (option === undefined || option === true || option === false) {
|
15003
14991
|
return false;
|
15004
14992
|
}
|
@@ -15063,6 +15051,7 @@ const themedDialpadStyle$1 = (isMobile, theme) => ({
|
|
15063
15051
|
backgroundColor: theme.palette.white,
|
15064
15052
|
fontSize: theme.fonts.large.fontSize,
|
15065
15053
|
padding: '0 0.5rem ',
|
15054
|
+
direction: 'rtl',
|
15066
15055
|
textAlign: 'center',
|
15067
15056
|
':active': {
|
15068
15057
|
padding: '0 0.5rem'
|
@@ -15125,19 +15114,23 @@ const SendDtmfDialpad = (props) => {
|
|
15125
15114
|
const onDismissTriggered = () => {
|
15126
15115
|
onDismissDialpad();
|
15127
15116
|
};
|
15117
|
+
const [textFieldValue, setTextFieldValue] = React.useState();
|
15118
|
+
const onChange = (input) => {
|
15119
|
+
setTextFieldValue(input);
|
15120
|
+
};
|
15128
15121
|
const dialpadModalStyle = React.useMemo(() => themeddialpadModalStyle$1(theme), [theme]);
|
15129
15122
|
const dialpadStyle = React.useMemo(() => themedDialpadStyle$1(isMobile, theme), [theme, isMobile]);
|
15130
15123
|
if (isMobile) {
|
15131
15124
|
return (React__default['default'].createElement(react.Stack, null, showDialpad && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles$1 },
|
15132
15125
|
React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onDismissTriggered },
|
15133
15126
|
React__default['default'].createElement(react.Stack, { style: { padding: '1rem' } },
|
15134
|
-
React__default['default'].createElement(Dialpad, Object.assign({ styles: dialpadStyle }, dialpadProps, { showDeleteButton: false, strings: strings, isMobile: isMobile }))))))));
|
15127
|
+
React__default['default'].createElement(Dialpad, Object.assign({ styles: dialpadStyle }, dialpadProps, { showDeleteButton: false, textFieldValue: textFieldValue, onChange: onChange, strings: strings, isMobile: isMobile }))))))));
|
15135
15128
|
}
|
15136
15129
|
return (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(react.Modal, { titleAriaId: strings.dialpadModalAriaLabel, isOpen: showDialpad, onDismiss: onDismissTriggered, isBlocking: true, styles: dialpadModalStyle },
|
15137
15130
|
React__default['default'].createElement(react.Stack, { horizontal: true, horizontalAlign: "end", verticalAlign: "center" },
|
15138
15131
|
React__default['default'].createElement(react.IconButton, { iconProps: { iconName: 'Cancel' }, ariaLabel: strings.dialpadCloseModalButtonAriaLabel, onClick: onDismissTriggered, style: { color: theme.palette.black } })),
|
15139
15132
|
React__default['default'].createElement(react.Stack, { style: { overflow: 'hidden' } },
|
15140
|
-
React__default['default'].createElement(Dialpad, Object.assign({ styles: dialpadStyle }, dialpadProps, { showDeleteButton: false, strings: strings, isMobile: isMobile }))))));
|
15133
|
+
React__default['default'].createElement(Dialpad, Object.assign({ styles: dialpadStyle }, dialpadProps, { textFieldValue: textFieldValue, onChange: onChange, showDeleteButton: false, strings: strings, isMobile: isMobile }))))));
|
15141
15134
|
};
|
15142
15135
|
|
15143
15136
|
// Copyright (c) Microsoft Corporation.
|
@@ -15174,7 +15167,7 @@ const CallControls = (props) => {
|
|
15174
15167
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
15175
15168
|
const moreButtonContextualMenuItems = () => {
|
15176
15169
|
const items = [];
|
15177
|
-
if (props.isMobile && props.onPeopleButtonClicked) {
|
15170
|
+
if (props.isMobile && props.onPeopleButtonClicked && isEnabled$2(options === null || options === void 0 ? void 0 : options.participantsButton)) {
|
15178
15171
|
items.push({
|
15179
15172
|
key: 'peopleButtonKey',
|
15180
15173
|
text: localeStrings.component.strings.participantsButton.label,
|
@@ -15187,6 +15180,7 @@ const CallControls = (props) => {
|
|
15187
15180
|
itemProps: {
|
15188
15181
|
styles: buttonFlyoutIncreasedSizeStyles
|
15189
15182
|
},
|
15183
|
+
disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.participantsButton),
|
15190
15184
|
['data-ui-id']: 'call-composite-more-menu-people-button'
|
15191
15185
|
});
|
15192
15186
|
}
|
@@ -15200,7 +15194,7 @@ const CallControls = (props) => {
|
|
15200
15194
|
itemProps: {
|
15201
15195
|
styles: buttonFlyoutIncreasedSizeStyles
|
15202
15196
|
},
|
15203
|
-
disabled: isDisabled(options === null || options === void 0 ? void 0 : options.holdButton),
|
15197
|
+
disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.holdButton),
|
15204
15198
|
['data-ui-id']: 'hold-button'
|
15205
15199
|
});
|
15206
15200
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -15238,27 +15232,21 @@ const CallControls = (props) => {
|
|
15238
15232
|
React__default['default'].createElement(SendDtmfDialpad, { isMobile: !!props.isMobile, strings: dialpadStrings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad }),
|
15239
15233
|
React__default['default'].createElement(react.Stack.Item, null,
|
15240
15234
|
React__default['default'].createElement(ControlBar, { layout: "horizontal", styles: controlBarStyles(theme.semanticColors.bodyBackground) },
|
15241
|
-
isEnabled$2(options === null || options === void 0 ? void 0 : options.microphoneButton) && (React__default['default'].createElement(Microphone, { displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.microphoneButton) })),
|
15242
|
-
isEnabled$2(options === null || options === void 0 ? void 0 : options.cameraButton) && (React__default['default'].createElement(Camera, { displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.cameraButton) })),
|
15243
|
-
isEnabled$2(options === null || options === void 0 ? void 0 : options.screenShareButton) && (React__default['default'].createElement(ScreenShare, { option: options === null || options === void 0 ? void 0 : options.screenShareButton, displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.screenShareButton) })),
|
15235
|
+
isEnabled$2(options === null || options === void 0 ? void 0 : options.microphoneButton) && (React__default['default'].createElement(Microphone, { displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.microphoneButton) })),
|
15236
|
+
isEnabled$2(options === null || options === void 0 ? void 0 : options.cameraButton) && (React__default['default'].createElement(Camera, { displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.cameraButton) })),
|
15237
|
+
isEnabled$2(options === null || options === void 0 ? void 0 : options.screenShareButton) && (React__default['default'].createElement(ScreenShare, { option: options === null || options === void 0 ? void 0 : options.screenShareButton, displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.screenShareButton) })),
|
15244
15238
|
isEnabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) &&
|
15245
15239
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
15246
|
-
!props.isMobile && (React__default['default'].createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.participantsButton) })) && (
|
15240
|
+
!props.isMobile && (React__default['default'].createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) })) && (
|
15247
15241
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
15248
|
-
React__default['default'].createElement(People, { checked: props.peopleButtonChecked, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.participantsButton) })),
|
15249
|
-
isEnabled$2(options === null || options === void 0 ? void 0 : options.devicesButton) && (React__default['default'].createElement(Devices, { displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.devicesButton) })),
|
15242
|
+
React__default['default'].createElement(People, { checked: props.peopleButtonChecked, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) })),
|
15243
|
+
isEnabled$2(options === null || options === void 0 ? void 0 : options.devicesButton) && (React__default['default'].createElement(Devices, { displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.devicesButton) })),
|
15250
15244
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
15251
15245
|
isEnabled$2(options === null || options === void 0 ? void 0 : options.moreButton) && (React__default['default'].createElement(MoreButton, { strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: { items: moreButtonContextualMenuItems() }, showLabel: !props.isMobile })),
|
15252
15246
|
customButtons['primary'],
|
15253
15247
|
isEnabled$2(options === null || options === void 0 ? void 0 : options.endCallButton) && React__default['default'].createElement(EndCall, { displayType: options === null || options === void 0 ? void 0 : options.displayType })))));
|
15254
15248
|
};
|
15255
15249
|
const isEnabled$2 = (option) => option !== false;
|
15256
|
-
const isDisabled = (option) => {
|
15257
|
-
if (typeof option !== 'boolean') {
|
15258
|
-
return !!(option === null || option === void 0 ? void 0 : option.disabled);
|
15259
|
-
}
|
15260
|
-
return option;
|
15261
|
-
};
|
15262
15250
|
|
15263
15251
|
// Copyright (c) Microsoft Corporation.
|
15264
15252
|
/**
|
@@ -15849,6 +15837,7 @@ const AddPeopleDropdown = (props) => {
|
|
15849
15837
|
const theme = react.useTheme();
|
15850
15838
|
const { inviteLink, strings, mobileView, onAddParticipant, alternateCallerId } = props;
|
15851
15839
|
const [showDialpad, setShowDialpad] = React.useState(false);
|
15840
|
+
const [announcerStrings, setAnnouncerStrings] = React.useState();
|
15852
15841
|
const menuStyleThemed = React.useMemo(() => themedMenuStyle(theme), [theme]);
|
15853
15842
|
const copyLinkButtonStylesThemed = React.useMemo(() => themedCopyLinkButtonStyles(theme, mobileView), [mobileView, theme]);
|
15854
15843
|
const defaultMenuProps = React.useMemo(() => {
|
@@ -15858,6 +15847,10 @@ const AddPeopleDropdown = (props) => {
|
|
15858
15847
|
useTargetWidth: true,
|
15859
15848
|
calloutProps: {
|
15860
15849
|
preventDismissOnEvent: _preventDismissOnEvent
|
15850
|
+
},
|
15851
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
15852
|
+
onMenuOpened(contextualMenu) {
|
15853
|
+
setAnnouncerStrings(undefined);
|
15861
15854
|
}
|
15862
15855
|
};
|
15863
15856
|
if (inviteLink) {
|
@@ -15866,7 +15859,10 @@ const AddPeopleDropdown = (props) => {
|
|
15866
15859
|
text: strings.copyInviteLinkButtonLabel,
|
15867
15860
|
itemProps: { styles: copyLinkButtonStylesThemed },
|
15868
15861
|
iconProps: { iconName: 'Link', style: iconStyles },
|
15869
|
-
onClick: () =>
|
15862
|
+
onClick: () => {
|
15863
|
+
setAnnouncerStrings(strings.copyInviteLinkActionedAriaLabel);
|
15864
|
+
copy__default['default'](inviteLink);
|
15865
|
+
}
|
15870
15866
|
});
|
15871
15867
|
}
|
15872
15868
|
// only show the dialpad option when alternateCallerId is set
|
@@ -15882,12 +15878,13 @@ const AddPeopleDropdown = (props) => {
|
|
15882
15878
|
}
|
15883
15879
|
return menuProps;
|
15884
15880
|
}, [
|
15881
|
+
menuStyleThemed,
|
15882
|
+
inviteLink,
|
15883
|
+
alternateCallerId,
|
15885
15884
|
strings.copyInviteLinkButtonLabel,
|
15885
|
+
strings.copyInviteLinkActionedAriaLabel,
|
15886
15886
|
strings.openDialpadButtonLabel,
|
15887
|
-
copyLinkButtonStylesThemed
|
15888
|
-
inviteLink,
|
15889
|
-
menuStyleThemed,
|
15890
|
-
alternateCallerId
|
15887
|
+
copyLinkButtonStylesThemed
|
15891
15888
|
]);
|
15892
15889
|
const onDismissDialpad = () => {
|
15893
15890
|
setShowDialpad(false);
|
@@ -15901,6 +15898,7 @@ const AddPeopleDropdown = (props) => {
|
|
15901
15898
|
}, [defaultMenuProps, setAddPeopleDrawerMenuItems]);
|
15902
15899
|
if (mobileView) {
|
15903
15900
|
return (React__default['default'].createElement(react.Stack, null,
|
15901
|
+
React__default['default'].createElement(Announcer, { ariaLive: 'assertive', announcementString: announcerStrings }),
|
15904
15902
|
React__default['default'].createElement(react.Stack.Item, { styles: copyLinkButtonContainerStyles },
|
15905
15903
|
React__default['default'].createElement(react.PrimaryButton, { onClick: setDrawerMenuItemsForAddPeople, styles: copyLinkButtonStylesThemed, onRenderIcon: () => PeoplePaneAddPersonIconTrampoline(), text: strings.peoplePaneAddPeopleButtonLabel, "data-ui-id": "call-add-people-button" })),
|
15906
15904
|
addPeopleDrawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles, "data-ui-id": "call-add-people-dropdown" },
|
@@ -15908,6 +15906,7 @@ const AddPeopleDropdown = (props) => {
|
|
15908
15906
|
alternateCallerId && (React__default['default'].createElement(CallingDialpad, { isMobile: true, strings: strings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad, onAddParticipant: onAddParticipant, alternateCallerId: alternateCallerId }))));
|
15909
15907
|
}
|
15910
15908
|
return (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(react.Stack, null,
|
15909
|
+
React__default['default'].createElement(Announcer, { ariaLive: 'assertive', announcementString: announcerStrings }),
|
15911
15910
|
alternateCallerId && (React__default['default'].createElement(CallingDialpad, { isMobile: false, strings: strings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad, onAddParticipant: onAddParticipant, alternateCallerId: alternateCallerId })),
|
15912
15911
|
React__default['default'].createElement(react.Stack, { styles: copyLinkButtonStackStyles },
|
15913
15912
|
React__default['default'].createElement(react.DefaultButton, { onRenderIcon: () => PeoplePaneAddPersonIconTrampoline(), text: strings.peoplePaneAddPeopleButtonLabel, menuProps: defaultMenuProps, styles: copyLinkButtonStylesThemed, "data-ui-id": "call-add-people-button" })))));
|
@@ -16146,8 +16145,8 @@ const TabHeader = (props) => {
|
|
16146
16145
|
}, [theme, haveMultipleTabs]);
|
16147
16146
|
return (React__default['default'].createElement(react.Stack, { horizontal: true, grow: true, styles: mobilePaneControlBarStyle },
|
16148
16147
|
React__default['default'].createElement(react.DefaultButton, { ariaLabel: strings.returnToCallButtonAriaLabel, ariaDescription: strings.returnToCallButtonAriaDescription, onClick: onClose, styles: mobilePaneBackButtonStyles, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "ChevronLeft" }), autoFocus: true }),
|
16149
|
-
React__default['default'].createElement(react.Stack.Item, { grow: true }, onChatButtonClicked && (React__default['default'].createElement(react.DefaultButton, { onClick: onChatButtonClicked, styles: mobilePaneButtonStylesThemed, checked: activeTab === 'chat', role: 'tab' }, strings.chatButtonLabel))),
|
16150
|
-
React__default['default'].createElement(react.Stack.Item, { grow: true }, onPeopleButtonClicked && (React__default['default'].createElement(react.DefaultButton, { onClick: onPeopleButtonClicked, styles: mobilePaneButtonStylesThemed, checked: activeTab === 'people', role: 'tab' }, strings.peopleButtonLabel))),
|
16148
|
+
React__default['default'].createElement(react.Stack.Item, { grow: true }, onChatButtonClicked && (React__default['default'].createElement(react.DefaultButton, { onClick: onChatButtonClicked, styles: mobilePaneButtonStylesThemed, checked: activeTab === 'chat', role: 'tab', disabled: props.disableChatButton }, strings.chatButtonLabel))),
|
16149
|
+
React__default['default'].createElement(react.Stack.Item, { grow: true }, onPeopleButtonClicked && (React__default['default'].createElement(react.DefaultButton, { onClick: onPeopleButtonClicked, styles: mobilePaneButtonStylesThemed, checked: activeTab === 'people', role: 'tab', disabled: props.disablePeopleButton }, strings.peopleButtonLabel))),
|
16151
16150
|
React__default['default'].createElement(react.DefaultButton, { styles: mobilePaneHiddenIconStyles, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "ChevronLeft" }) })));
|
16152
16151
|
};
|
16153
16152
|
|
@@ -16194,6 +16193,7 @@ var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
16194
16193
|
*/
|
16195
16194
|
/** @beta */
|
16196
16195
|
const CallPane = (props) => {
|
16196
|
+
var _a;
|
16197
16197
|
const [drawerMenuItems, setDrawerMenuItems] = React.useState([]);
|
16198
16198
|
const hidden = props.activePane === 'none';
|
16199
16199
|
const paneStyles = hidden ? hiddenStyles : props.mobileView ? availableSpaceStyles : sidePaneStyles;
|
@@ -16205,7 +16205,7 @@ const CallPane = (props) => {
|
|
16205
16205
|
};
|
16206
16206
|
const strings = getStrings();
|
16207
16207
|
const theme = useTheme();
|
16208
|
-
const header = props.activePane === 'none' ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: strings, activeTab: props.activePane }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: strings, headingText: props.activePane === 'people' ? strings.peoplePaneTitle : '' })));
|
16208
|
+
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 : '' })));
|
16209
16209
|
/**
|
16210
16210
|
* In a Call Composite when a participant is removed, we must remove them from the call.
|
16211
16211
|
*/
|
@@ -16331,7 +16331,7 @@ const CallArrangement = (props) => {
|
|
16331
16331
|
const callPaneContent = React.useCallback(() => {
|
16332
16332
|
var _a;
|
16333
16333
|
if (adapter && _isInCall(callStatus) && activePane === 'people') {
|
16334
|
-
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, modalLayerHostId: props.modalLayerHostId, activePane: activePane, mobileView: props.mobileView, inviteLink: props.callControlProps.callInvitationURL }));
|
16334
|
+
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 }));
|
16335
16335
|
}
|
16336
16336
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
16337
16337
|
}, [
|
@@ -17275,11 +17275,12 @@ const resumeButtonStyles = {
|
|
17275
17275
|
*/
|
17276
17276
|
const holdPaneLabelStyles = {
|
17277
17277
|
root: {
|
17278
|
-
color: '
|
17278
|
+
color: 'inherit',
|
17279
17279
|
fontWeight: 600,
|
17280
17280
|
fontHeight: _pxToRem(22),
|
17281
17281
|
fontSize: _pxToRem(16),
|
17282
|
-
|
17282
|
+
marginTop: '0.5rem',
|
17283
|
+
marginBottom: '1.5rem'
|
17283
17284
|
}
|
17284
17285
|
};
|
17285
17286
|
/**
|
@@ -17289,7 +17290,7 @@ const holdPaneLabelStyles = {
|
|
17289
17290
|
*/
|
17290
17291
|
const holdPaneTimerStyles = {
|
17291
17292
|
root: {
|
17292
|
-
color: '
|
17293
|
+
color: 'inherit',
|
17293
17294
|
fontWeight: 600,
|
17294
17295
|
fontSize: _pxToRem(20),
|
17295
17296
|
lineHeight: _pxToRem(28),
|
@@ -17305,7 +17306,7 @@ const paneStyles = {
|
|
17305
17306
|
root: {
|
17306
17307
|
width: '100%',
|
17307
17308
|
height: '100%',
|
17308
|
-
background: '
|
17309
|
+
background: 'inherit'
|
17309
17310
|
}
|
17310
17311
|
};
|
17311
17312
|
/**
|
@@ -17318,7 +17319,9 @@ const holdPaneContentStyles = {
|
|
17318
17319
|
display: 'flex',
|
17319
17320
|
margin: 'auto',
|
17320
17321
|
flexDirection: 'column',
|
17321
|
-
justifyContent: 'center'
|
17322
|
+
justifyContent: 'center',
|
17323
|
+
alignContent: 'center',
|
17324
|
+
alignItems: 'center'
|
17322
17325
|
}
|
17323
17326
|
};
|
17324
17327
|
|
@@ -17355,14 +17358,11 @@ const HoldPane = () => {
|
|
17355
17358
|
clearInterval(interval);
|
17356
17359
|
};
|
17357
17360
|
}, [startTime]);
|
17358
|
-
const resumeSpinner = () => {
|
17359
|
-
return React__default['default'].createElement(react.Spinner, { label: strings.resumingCallButtonLabel, labelPosition: 'right' });
|
17360
|
-
};
|
17361
17361
|
return (React__default['default'].createElement(react.Stack, { styles: paneStyles },
|
17362
17362
|
React__default['default'].createElement(react.Stack, { horizontal: true, styles: holdPaneContentStyles },
|
17363
17363
|
React__default['default'].createElement(react.Text, { styles: holdPaneTimerStyles }, elapsedTime),
|
17364
17364
|
React__default['default'].createElement(react.Text, { styles: holdPaneLabelStyles }, strings.holdScreenLabel),
|
17365
|
-
React__default['default'].createElement(react.PrimaryButton, { text: !resumingCall ? strings.resumeCallButtonLabel :
|
17365
|
+
React__default['default'].createElement(react.PrimaryButton, { text: !resumingCall ? strings.resumeCallButtonLabel : strings.resumingCallButtonLabel, ariaLabel: !resumingCall ? strings.resumeCallButtonAriaLabel : strings.resumingCallButtonAriaLabel, styles: resumeButtonStyles, disabled: resumingCall, onClick: () => __awaiter$6(void 0, void 0, void 0, function* () {
|
17366
17366
|
setResumingCall(true);
|
17367
17367
|
try {
|
17368
17368
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
@@ -17372,7 +17372,7 @@ const HoldPane = () => {
|
|
17372
17372
|
setResumingCall(false);
|
17373
17373
|
throw e;
|
17374
17374
|
}
|
17375
|
-
}), "data-ui-id": "hold-page-resume-call-button" }
|
17375
|
+
}), "data-ui-id": "hold-page-resume-call-button" }))));
|
17376
17376
|
};
|
17377
17377
|
const getMinutes = (time) => {
|
17378
17378
|
return Math.floor(getSeconds(time) / 60);
|
@@ -18628,7 +18628,7 @@ const CallWithChatControlBar = (props) => {
|
|
18628
18628
|
if (options === false) {
|
18629
18629
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
18630
18630
|
}
|
18631
|
-
const chatButton = (React__default['default'].createElement(ChatButtonWithUnreadMessagesBadge, { chatAdapter: props.chatAdapter, checked: props.chatButtonChecked, showLabel: options.displayType !== 'compact', isChatPaneVisible: props.chatButtonChecked, onClick: props.onChatButtonClicked, disabled: props.disableButtonsForLobbyPage, strings: chatButtonStrings, styles: commonButtonStyles, newMessageLabel: callWithChatStrings.chatButtonNewMessageNotificationLabel }));
|
18631
|
+
const chatButton = (React__default['default'].createElement(ChatButtonWithUnreadMessagesBadge, { chatAdapter: props.chatAdapter, checked: props.chatButtonChecked, showLabel: options.displayType !== 'compact', isChatPaneVisible: props.chatButtonChecked, onClick: props.onChatButtonClicked, disabled: props.disableButtonsForLobbyPage || isDisabled$2(options.chatButton), strings: chatButtonStrings, styles: commonButtonStyles, newMessageLabel: callWithChatStrings.chatButtonNewMessageNotificationLabel }));
|
18632
18632
|
return (React__default['default'].createElement(react.Stack, { horizontal: true, className: react.mergeStyles(callControlsContainerStyles, controlBarContainerStyles) },
|
18633
18633
|
React__default['default'].createElement(react.Stack.Item, { grow: true },
|
18634
18634
|
React__default['default'].createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
@@ -18637,14 +18637,14 @@ const CallWithChatControlBar = (props) => {
|
|
18637
18637
|
React__default['default'].createElement(ControlBar, { layout: "horizontal", styles: centerContainerStyles },
|
18638
18638
|
isEnabled$1(options.microphoneButton) && (React__default['default'].createElement(Microphone, { displayType: options.displayType, styles: commonButtonStyles, splitButtonsForDeviceSelection: !props.mobileView,
|
18639
18639
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
18640
|
-
disabled: props.disableButtonsForHoldScreen })),
|
18640
|
+
disabled: props.disableButtonsForHoldScreen || isDisabled$2(options.microphoneButton) })),
|
18641
18641
|
isEnabled$1(options.cameraButton) && (React__default['default'].createElement(Camera, { displayType: options.displayType, styles: commonButtonStyles, splitButtonsForDeviceSelection: !props.mobileView,
|
18642
18642
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
18643
|
-
disabled: props.disableButtonsForHoldScreen })),
|
18643
|
+
disabled: props.disableButtonsForHoldScreen || isDisabled$2(options.cameraButton) })),
|
18644
18644
|
props.mobileView && isEnabled$1(options === null || options === void 0 ? void 0 : options.chatButton) && chatButton,
|
18645
18645
|
isEnabled$1(options.screenShareButton) && (React__default['default'].createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
|
18646
18646
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
18647
|
-
disabled: props.disableButtonsForHoldScreen })),
|
18647
|
+
disabled: props.disableButtonsForHoldScreen || isDisabled$2(options.screenShareButton) })),
|
18648
18648
|
/* @conditional-compile-remove(control-bar-button-injection) */
|
18649
18649
|
(_a = customButtons['primary']) === null || _a === void 0 ? void 0 :
|
18650
18650
|
_a.props.children.slice(0, props.mobileView
|
@@ -18663,7 +18663,7 @@ const CallWithChatControlBar = (props) => {
|
|
18663
18663
|
_b.props.children.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS).map((element) => {
|
18664
18664
|
return (React__default['default'].createElement(element.type, Object.assign({}, element.props, { key: element.props.key, styles: commonButtonStyles, displayType: options.displayType, showLabel: options.displayType !== 'compact' })));
|
18665
18665
|
}),
|
18666
|
-
isEnabled$1(options === null || options === void 0 ? void 0 : options.peopleButton) && (React__default['default'].createElement(PeopleButton, { checked: props.peopleButtonChecked, showLabel: options.displayType !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-with-chat-composite-people-button", disabled: props.disableButtonsForLobbyPage, strings: peopleButtonStrings, styles: commonButtonStyles })),
|
18666
|
+
isEnabled$1(options === null || options === void 0 ? void 0 : options.peopleButton) && (React__default['default'].createElement(PeopleButton, { checked: props.peopleButtonChecked, showLabel: options.displayType !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-with-chat-composite-people-button", disabled: props.disableButtonsForLobbyPage || isDisabled$2(options.peopleButton), strings: peopleButtonStrings, styles: commonButtonStyles })),
|
18667
18667
|
isEnabled$1(options === null || options === void 0 ? void 0 : options.chatButton) && chatButton))));
|
18668
18668
|
};
|
18669
18669
|
const desktopButtonContainerStyle = {
|
@@ -19052,7 +19052,8 @@ const MoreDrawer = (props) => {
|
|
19052
19052
|
},
|
19053
19053
|
text: mic.name,
|
19054
19054
|
onItemClick: onMicrophoneItemClick,
|
19055
|
-
secondaryIconProps: isDeviceSelected(mic, props.selectedMicrophone) ? { iconName: 'Accept' } : undefined
|
19055
|
+
secondaryIconProps: isDeviceSelected(mic, props.selectedMicrophone) ? { iconName: 'Accept' } : undefined,
|
19056
|
+
disabled: drawerSelectionOptions !== false ? isDisabled$2(drawerSelectionOptions.microphoneButton) : undefined
|
19056
19057
|
})),
|
19057
19058
|
secondaryText: (_b = props.selectedMicrophone) === null || _b === void 0 ? void 0 : _b.name
|
19058
19059
|
});
|
@@ -19062,14 +19063,16 @@ const MoreDrawer = (props) => {
|
|
19062
19063
|
itemKey: 'people',
|
19063
19064
|
text: props.strings.peopleButtonLabel,
|
19064
19065
|
iconProps: { iconName: 'MoreDrawerPeople' },
|
19065
|
-
onItemClick: props.onPeopleButtonClicked
|
19066
|
+
onItemClick: props.onPeopleButtonClicked,
|
19067
|
+
disabled: drawerSelectionOptions !== false ? isDisabled$2(drawerSelectionOptions.peopleButton) : undefined
|
19066
19068
|
});
|
19067
19069
|
}
|
19068
19070
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
19069
|
-
if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.
|
19071
|
+
if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.holdButton)) {
|
19070
19072
|
drawerMenuItems.push({
|
19071
19073
|
itemKey: 'holdButtonKey',
|
19072
|
-
disabled: props.disableButtonsForHoldScreen
|
19074
|
+
disabled: props.disableButtonsForHoldScreen ||
|
19075
|
+
(drawerSelectionOptions !== false ? isDisabled$2(drawerSelectionOptions.holdButton) : undefined),
|
19073
19076
|
text: localeStrings.component.strings.holdButton.tooltipOffContent,
|
19074
19077
|
onItemClick: () => {
|
19075
19078
|
holdButtonProps.onToggleHold();
|
@@ -19079,7 +19082,7 @@ const MoreDrawer = (props) => {
|
|
19079
19082
|
}
|
19080
19083
|
/*@conditional-compile-remove(PSTN-calls) */
|
19081
19084
|
// dtmf tone sending only works for 1:1 PSTN call
|
19082
|
-
if (drawerSelectionOptions !== false &&
|
19085
|
+
if (drawerSelectionOptions !== false && props.onClickShowDialpad) {
|
19083
19086
|
drawerMenuItems.push({
|
19084
19087
|
itemKey: 'showDialpadKey',
|
19085
19088
|
disabled: props.disableButtonsForHoldScreen,
|
@@ -19151,6 +19154,7 @@ var __awaiter$1 = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
19151
19154
|
* @private
|
19152
19155
|
*/
|
19153
19156
|
const CallWithChatPane = (props) => {
|
19157
|
+
var _a, _b;
|
19154
19158
|
const [drawerMenuItems, setDrawerMenuItems] = React.useState([]);
|
19155
19159
|
const hidden = props.activePane === 'none';
|
19156
19160
|
const paneStyles = hidden ? hiddenStyles : props.mobileView ? availableSpaceStyles : sidePaneStyles;
|
@@ -19158,7 +19162,7 @@ const CallWithChatPane = (props) => {
|
|
19158
19162
|
const theme = useTheme();
|
19159
19163
|
/* @conditional-compile-remove(PSTN-calls) */
|
19160
19164
|
const alternateCallerId = props.callAdapter.getState().alternateCallerId;
|
19161
|
-
const header = props.activePane === 'none' ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: callWithChatStrings, activeTab: props.activePane }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: callWithChatStrings, headingText: props.activePane === 'chat'
|
19165
|
+
const header = props.activePane === 'none' ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: callWithChatStrings, activeTab: props.activePane, disableChatButton: isDisabled$2((_a = props.callControls) === null || _a === void 0 ? void 0 : _a.chatButton), disablePeopleButton: isDisabled$2((_b = props.callControls) === null || _b === void 0 ? void 0 : _b.peopleButton) }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: callWithChatStrings, headingText: props.activePane === 'chat'
|
19162
19166
|
? callWithChatStrings.chatPaneTitle
|
19163
19167
|
: props.activePane === 'people'
|
19164
19168
|
? callWithChatStrings.peoplePaneTitle
|
@@ -19332,7 +19336,7 @@ const CallWithChatScreen = (props) => {
|
|
19332
19336
|
React__default['default'].createElement(CallComposite, Object.assign({}, props, { formFactor: formFactor, options: { callControls: false }, adapter: callAdapter, fluentTheme: fluentTheme }))),
|
19333
19337
|
chatProps.adapter && callAdapter && hasJoinedCall && (React__default['default'].createElement(CallWithChatPane, { chatCompositeProps: chatProps, inviteLink: props.joinInvitationURL, onClose: closePane, chatAdapter: chatProps.adapter, callAdapter: callAdapter, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, onChatButtonClicked: showShowChatTabHeaderButton(props.callControls) ? selectChat : undefined, onPeopleButtonClicked: showShowPeopleTabHeaderButton(props.callControls) ? selectPeople : undefined, modalLayerHostId: modalLayerHostId, mobileView: mobileView, activePane: activePane,
|
19334
19338
|
/* @conditional-compile-remove(file-sharing) */
|
19335
|
-
fileSharing: props.fileSharing, rtl: props.rtl }))),
|
19339
|
+
fileSharing: props.fileSharing, rtl: props.rtl, callControls: typeof props.callControls !== 'boolean' ? props.callControls : undefined }))),
|
19336
19340
|
showControlBar && !isMobileWithActivePane && (React__default['default'].createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
|
19337
19341
|
React__default['default'].createElement(react.Stack.Item, { styles: controlBarContainerStyles$1 },
|
19338
19342
|
React__default['default'].createElement(CallWithChatControlBar, { callAdapter: callAdapter, chatAdapter: chatProps.adapter, chatButtonChecked: activePane === 'chat', onChatButtonClicked: toggleChat, peopleButtonChecked: activePane === 'people', onPeopleButtonClicked: togglePeople, onMoreButtonClicked: onMoreButtonClicked, mobileView: mobileView, disableButtonsForLobbyPage: isInLobbyOrConnecting,
|
@@ -19372,7 +19376,8 @@ const CallWithChatComposite = (props) => {
|
|
19372
19376
|
};
|
19373
19377
|
const hasJoinedCallFn = (page, callStatus) => {
|
19374
19378
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */
|
19375
|
-
return (page === 'call' && callStatus === 'Connected'
|
19379
|
+
return ((page === 'call' && (callStatus === 'Connected' || callStatus === 'RemoteHold')) ||
|
19380
|
+
(page === 'hold' && callStatus === 'LocalHold'));
|
19376
19381
|
};
|
19377
19382
|
const showShowChatTabHeaderButton = (callControls) => {
|
19378
19383
|
if (callControls === undefined || callControls === true) {
|