@azure/communication-react 1.3.2-alpha-202208040020.0 → 1.3.2-alpha-202208050016.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 +88 -0
- package/dist/dist-cjs/communication-react/index.js +463 -172
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/common.d.ts +20 -0
- package/dist/dist-esm/acs-ui-common/src/common.d.ts.map +1 -0
- package/dist/dist-esm/acs-ui-common/src/common.js +26 -0
- package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -0
- package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -0
- package/dist/dist-esm/acs-ui-common/src/index.d.ts.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/index.js +1 -0
- package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -2
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +31 -5
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts.map +1 -1
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/DevicesButton.js +1 -1
- package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +9 -14
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +2 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +8 -2
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +1 -1
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +16 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +38 -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 +1 -0
- package/dist/dist-esm/react-components/src/components/index.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.js +0 -1
- 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 +1 -1
- 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 +4 -0
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +9 -0
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.d.ts +0 -19
- package/dist/dist-esm/react-components/src/components/utils/common.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.js +0 -23
- package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +6 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +10 -0
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +24 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.d.ts +11 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.d.ts.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +23 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +24 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +13 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +36 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +90 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +18 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +53 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +54 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +8 -38
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +9 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +9 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.d.ts +5 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.d.ts.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +12 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +14 -2
- 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.2-alpha-
|
195
|
+
var telemetryVersion = '1.3.2-alpha-202208050016.0';
|
196
196
|
|
197
197
|
// Copyright (c) Microsoft Corporation.
|
198
198
|
/**
|
@@ -280,6 +280,32 @@ const createSafeReplacer = () => {
|
|
280
280
|
};
|
281
281
|
};
|
282
282
|
|
283
|
+
// Copyright (c) Microsoft Corporation.
|
284
|
+
// Licensed under the MIT license.
|
285
|
+
/**
|
286
|
+
* @internal
|
287
|
+
* Converts units of rem to units of pixels
|
288
|
+
* @param rem - units of rem
|
289
|
+
* @returns units of pixels
|
290
|
+
*/
|
291
|
+
const _convertRemToPx = (rem) => {
|
292
|
+
return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
|
293
|
+
};
|
294
|
+
/**
|
295
|
+
* @internal
|
296
|
+
* Disable dismiss on resize to work around a couple Fluent UI bugs
|
297
|
+
* - The Callout is dismissed whenever *any child of window (inclusive)* is resized. In practice, this
|
298
|
+
* happens when we change the VideoGallery layout, or even when the video stream element is internally resized
|
299
|
+
* by the headless SDK.
|
300
|
+
* - We also want to prevent dismiss when chat pane is scrolling especially a new message is added.
|
301
|
+
* A side effect of this workaround is that the context menu stays open when window is resized, and may
|
302
|
+
* get detached from original target visually. That bug is preferable to the bug when this value is not set -
|
303
|
+
* The Callout (frequently) gets dismissed automatically.
|
304
|
+
*/
|
305
|
+
const _preventDismissOnEvent = (ev) => {
|
306
|
+
return ev.type === 'resize' || ev.type === 'scroll';
|
307
|
+
};
|
308
|
+
|
283
309
|
// Copyright (c) Microsoft Corporation.
|
284
310
|
// Licensed under the MIT license.
|
285
311
|
/**
|
@@ -932,7 +958,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
932
958
|
wordBreak: 'break-word'
|
933
959
|
});
|
934
960
|
|
935
|
-
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant"};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}",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
|
961
|
+
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant"};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}",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$e={onLabel:"Resume",offLabel:"Hold",toolTipOnContent:"Resume call",toolTipOffContent:"Hold call"};var videoTile={participantStateConnecting:"Connecting...",participantStateRinging:"Ringing...",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$e,videoTile:videoTile};
|
936
962
|
|
937
963
|
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};
|
938
964
|
|
@@ -2238,29 +2264,6 @@ const SendBoxErrors = (props) => {
|
|
2238
2264
|
};
|
2239
2265
|
|
2240
2266
|
// Copyright (c) Microsoft Corporation.
|
2241
|
-
/**
|
2242
|
-
* Converts units of rem to units of pixels
|
2243
|
-
* @param rem - units of rem
|
2244
|
-
* @returns units of pixels
|
2245
|
-
*/
|
2246
|
-
const convertRemToPx = (rem) => {
|
2247
|
-
return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
|
2248
|
-
};
|
2249
|
-
/**
|
2250
|
-
* Converts units of rem to units of pixels
|
2251
|
-
* @private
|
2252
|
-
* Disable dismiss on resize to work around a couple Fluent UI bugs
|
2253
|
-
* - The Callout is dismissed whenever *any child of window (inclusive)* is resized. In practice, this
|
2254
|
-
* happens when we change the VideoGallery layout, or even when the video stream element is internally resized
|
2255
|
-
* by the headless SDK.
|
2256
|
-
* - We also want to prevent dismiss when chat pane is scrolling especially a new message is added.
|
2257
|
-
* A side effect of this workaround is that the context menu stays open when window is resized, and may
|
2258
|
-
* get detached from original target visually. That bug is preferable to the bug when this value is not set -
|
2259
|
-
* The Callout (frequently) gets dismissed automatically.
|
2260
|
-
*/
|
2261
|
-
const preventDismissOnEvent = (ev) => {
|
2262
|
-
return ev.type === 'resize' || ev.type === 'scroll';
|
2263
|
-
};
|
2264
2267
|
/**
|
2265
2268
|
* Conditionally modify locale strings passed to the file card
|
2266
2269
|
* @returns file upload card strings
|
@@ -3665,7 +3668,7 @@ const NARROW_WIDTH_REM = 30;
|
|
3665
3668
|
* @param containerWidthRem container width in rem
|
3666
3669
|
* @returns boolean
|
3667
3670
|
*/
|
3668
|
-
const isNarrowWidth = (containerWidthRem) => containerWidthRem <=
|
3671
|
+
const isNarrowWidth = (containerWidthRem) => containerWidthRem <= _convertRemToPx(NARROW_WIDTH_REM);
|
3669
3672
|
|
3670
3673
|
/**
|
3671
3674
|
* @private
|
@@ -4356,7 +4359,7 @@ const iconContainerStyle$1 = {
|
|
4356
4359
|
/**
|
4357
4360
|
* @private
|
4358
4361
|
*/
|
4359
|
-
const iconStyles$
|
4362
|
+
const iconStyles$3 = react.mergeStyles({
|
4360
4363
|
display: 'flex',
|
4361
4364
|
lineHeight: 0,
|
4362
4365
|
alignItems: 'center'
|
@@ -4402,7 +4405,7 @@ const ParticipantItem = (props) => {
|
|
4402
4405
|
const contextualMenuStyle = React.useMemo(() => react.mergeStyles({ background: theme.palette.neutralLighterAlt }, styles === null || styles === void 0 ? void 0 : styles.menu), [theme.palette.neutralLighterAlt, styles === null || styles === void 0 ? void 0 : styles.menu]);
|
4403
4406
|
const infoContainerStyle = React.useMemo(() => react.mergeStyles(iconContainerStyle$1, { color: theme.palette.neutralTertiary }, styles === null || styles === void 0 ? void 0 : styles.iconContainer), [theme.palette.neutralTertiary, styles === null || styles === void 0 ? void 0 : styles.iconContainer]);
|
4404
4407
|
const menuButton = React.useMemo(() => (React__default['default'].createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: react.mergeStyles(menuButtonContainerStyle), title: menuTitle, "data-ui-id": ids.participantItemMenuButton },
|
4405
|
-
React__default['default'].createElement(react.Icon, { iconName: itemHovered ? 'ParticipantItemOptionsHovered' : 'ParticipantItemOptions', className: iconStyles$
|
4408
|
+
React__default['default'].createElement(react.Icon, { iconName: itemHovered ? 'ParticipantItemOptionsHovered' : 'ParticipantItemOptions', className: iconStyles$3 }))), [itemHovered, menuTitle, ids.participantItemMenuButton]);
|
4406
4409
|
const onDismissMenu = () => {
|
4407
4410
|
setItemHovered(false);
|
4408
4411
|
setMenuHidden(true);
|
@@ -4419,7 +4422,7 @@ const ParticipantItem = (props) => {
|
|
4419
4422
|
menuItems && menuItems.length > 0 && (React__default['default'].createElement(React__default['default'].Fragment, null,
|
4420
4423
|
menuButton,
|
4421
4424
|
React__default['default'].createElement(react.ContextualMenu, { items: menuItems, hidden: menuHidden, target: containerRef, onItemClick: onDismissMenu, onDismiss: onDismissMenu, directionalHint: react.DirectionalHint.bottomRightEdge, className: contextualMenuStyle, calloutProps: {
|
4422
|
-
preventDismissOnEvent
|
4425
|
+
preventDismissOnEvent: _preventDismissOnEvent
|
4423
4426
|
} })))));
|
4424
4427
|
};
|
4425
4428
|
|
@@ -4443,7 +4446,7 @@ const participantListItemStyle = {
|
|
4443
4446
|
/**
|
4444
4447
|
* @private
|
4445
4448
|
*/
|
4446
|
-
const iconStyles$
|
4449
|
+
const iconStyles$2 = react.mergeStyles({
|
4447
4450
|
display: 'flex',
|
4448
4451
|
lineHeight: 0,
|
4449
4452
|
alignItems: 'center'
|
@@ -4464,8 +4467,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
4464
4467
|
const menuItems = createParticipantMenuItems && createParticipantMenuItems(participant);
|
4465
4468
|
const onRenderIcon = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isScreenSharing) || (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isMuted)
|
4466
4469
|
? () => (React__default['default'].createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.5rem' } },
|
4467
|
-
callingParticipant.isScreenSharing && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$
|
4468
|
-
callingParticipant.isMuted && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$
|
4470
|
+
callingParticipant.isScreenSharing && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
|
4471
|
+
callingParticipant.isMuted && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel }))))
|
4469
4472
|
: () => null;
|
4470
4473
|
const displayName = !participant.displayName ? strings.displayNamePlaceholder : participant.displayName;
|
4471
4474
|
return (React__default['default'].createElement(ParticipantItem, { styles: styles, key: participant.userId, userId: participant.userId, displayName: displayName, me: myUserId ? participant.userId === myUserId : false, menuItems: menuItems, presence: presence, onRenderIcon: onRenderIcon, onRenderAvatar: onRenderAvatar, onClick: () => onParticipantClick === null || onParticipantClick === void 0 ? void 0 : onParticipantClick(participant), showParticipantOverflowTooltip: showParticipantOverflowTooltip }));
|
@@ -4735,6 +4738,15 @@ const displayNameStyle = {
|
|
4735
4738
|
textOverflow: 'ellipsis',
|
4736
4739
|
maxWidth: '100%'
|
4737
4740
|
};
|
4741
|
+
/**
|
4742
|
+
* @private
|
4743
|
+
*/
|
4744
|
+
const participantStateStyle = {
|
4745
|
+
textAlign: 'center',
|
4746
|
+
paddingTop: '0.5rem',
|
4747
|
+
fontWeight: 600,
|
4748
|
+
fontSize: '0.75rem'
|
4749
|
+
};
|
4738
4750
|
/**
|
4739
4751
|
* @private
|
4740
4752
|
*/
|
@@ -4774,9 +4786,26 @@ const DEFAULT_PERSONA_MAX_SIZE_PX = 100;
|
|
4774
4786
|
// Coin min size is set PersonaSize.size32
|
4775
4787
|
const DEFAULT_PERSONA_MIN_SIZE_PX = 32;
|
4776
4788
|
const DefaultPlaceholder = (props) => {
|
4777
|
-
const { text, noVideoAvailableAriaLabel, coinSize,
|
4789
|
+
const { text, noVideoAvailableAriaLabel, coinSize, hidePersonaDetails, participantState, strings } = props;
|
4790
|
+
const participantStateString = React__default['default'].useMemo(() => {
|
4791
|
+
if (!strings) {
|
4792
|
+
return;
|
4793
|
+
}
|
4794
|
+
if (participantState === 'Connecting') {
|
4795
|
+
return strings === null || strings === void 0 ? void 0 : strings.participantStateConnecting;
|
4796
|
+
}
|
4797
|
+
else if (participantState === 'Ringing') {
|
4798
|
+
return strings === null || strings === void 0 ? void 0 : strings.participantStateRinging;
|
4799
|
+
}
|
4800
|
+
else if (participantState === 'Hold') {
|
4801
|
+
return strings === null || strings === void 0 ? void 0 : strings.participantStateHold;
|
4802
|
+
}
|
4803
|
+
return;
|
4804
|
+
}, [participantState, strings]);
|
4778
4805
|
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles({ position: 'absolute', height: '100%', width: '100%' }) },
|
4779
|
-
React__default['default'].createElement(react.
|
4806
|
+
React__default['default'].createElement(react.Stack, { styles: defaultPersonaStyles },
|
4807
|
+
React__default['default'].createElement(react.Persona, { coinSize: coinSize, hidePersonaDetails: hidePersonaDetails, text: text !== null && text !== void 0 ? text : '', initialsTextColor: "white", "aria-label": noVideoAvailableAriaLabel !== null && noVideoAvailableAriaLabel !== void 0 ? noVideoAvailableAriaLabel : '', showOverflowTooltip: false }),
|
4808
|
+
participantStateString && React__default['default'].createElement(react.Text, { className: react.mergeStyles(participantStateStyle) }, participantStateString))));
|
4780
4809
|
};
|
4781
4810
|
const defaultPersonaStyles = { root: { margin: 'auto', maxHeight: '100%' } };
|
4782
4811
|
/**
|
@@ -4787,7 +4816,13 @@ const defaultPersonaStyles = { root: { margin: 'auto', maxHeight: '100%' } };
|
|
4787
4816
|
* @public
|
4788
4817
|
*/
|
4789
4818
|
const VideoTile = (props) => {
|
4790
|
-
const { children, displayName, initialsName, isMirrored, isMuted, onRenderPlaceholder, renderElement, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX
|
4819
|
+
const { children, displayName, initialsName, isMirrored, isMuted, onRenderPlaceholder, renderElement, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX,
|
4820
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
4821
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
4822
|
+
participantState } = props;
|
4823
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
4824
|
+
// @conditional-compile-remove(PSTN-calls)
|
4825
|
+
const strings = Object.assign(Object.assign({}, useLocale$1().strings.videoTile), props.strings);
|
4791
4826
|
const [personaSize, setPersonaSize] = React.useState(100);
|
4792
4827
|
const videoTileRef = React.useRef(null);
|
4793
4828
|
const theme = useTheme();
|
@@ -4810,7 +4845,10 @@ const VideoTile = (props) => {
|
|
4810
4845
|
noVideoAvailableAriaLabel,
|
4811
4846
|
coinSize: personaSize,
|
4812
4847
|
styles: defaultPersonaStyles,
|
4813
|
-
hidePersonaDetails: true
|
4848
|
+
hidePersonaDetails: true,
|
4849
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
4850
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
4851
|
+
participantState: participantState
|
4814
4852
|
};
|
4815
4853
|
const videoHintWithBorderRadius = react.mergeStyles(videoHint, { borderRadius: theme.effects.roundedCorner4 });
|
4816
4854
|
const tileInfoStyle = React.useMemo(() => react.mergeStyles(isVideoRendered ? videoHintWithBorderRadius : disabledVideoHint, getVideoTileOverrideColor(isVideoRendered, theme, 'neutralPrimary'), styles === null || styles === void 0 ? void 0 : styles.displayNameContainer), [isVideoRendered, videoHintWithBorderRadius, theme, styles === null || styles === void 0 ? void 0 : styles.displayNameContainer]);
|
@@ -4824,7 +4862,10 @@ const VideoTile = (props) => {
|
|
4824
4862
|
borderRadius: theme.effects.roundedCorner4,
|
4825
4863
|
border: `0.25rem solid ${isSpeaking ? theme.palette.themePrimary : 'transparent'}`
|
4826
4864
|
}) }),
|
4827
|
-
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
|
4865
|
+
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, {
|
4866
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
4867
|
+
// @conditional-compile-remove(PSTN-calls)
|
4868
|
+
strings: strings }))))),
|
4828
4869
|
showLabel && (displayName || (showMuteIndicator && isMuted)) && (React__default['default'].createElement(react.Stack, { horizontal: true, className: tileInfoContainerStyle },
|
4829
4870
|
React__default['default'].createElement(react.Stack, { horizontal: true, className: tileInfoStyle },
|
4830
4871
|
displayName && (React__default['default'].createElement(react.Text, { className: react.mergeStyles(displayNameStyle), title: displayName }, displayName)),
|
@@ -4843,7 +4884,10 @@ const VideoTile = (props) => {
|
|
4843
4884
|
*/
|
4844
4885
|
const _RemoteVideoTile = React__default['default'].memo((props) => {
|
4845
4886
|
const { isAvailable, isReceiving = true, // default to true to prevent any breaking change
|
4846
|
-
isMuted, isSpeaking, isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, displayName, onRenderAvatar, showMuteIndicator
|
4887
|
+
isMuted, isSpeaking, isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, displayName, onRenderAvatar, showMuteIndicator,
|
4888
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
4889
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
4890
|
+
state } = props;
|
4847
4891
|
const remoteVideoStreamProps = React.useMemo(() => ({
|
4848
4892
|
isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored,
|
4849
4893
|
isScreenSharingOn,
|
@@ -4876,7 +4920,10 @@ const _RemoteVideoTile = React__default['default'].memo((props) => {
|
|
4876
4920
|
}
|
4877
4921
|
return React__default['default'].createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving ? 'none' : 'loading' });
|
4878
4922
|
}, [renderElement, isReceiving]);
|
4879
|
-
return (React__default['default'].createElement(VideoTile, { key: userId, userId: userId, renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: isMuted, isSpeaking: isSpeaking, showMuteIndicator: showMuteIndicator, showLabel: props.showLabel, personaMinSize: props.personaMinSize
|
4923
|
+
return (React__default['default'].createElement(VideoTile, { key: userId, userId: userId, renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: isMuted, isSpeaking: isSpeaking, showMuteIndicator: showMuteIndicator, showLabel: props.showLabel, personaMinSize: props.personaMinSize,
|
4924
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
4925
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
4926
|
+
participantState: state }));
|
4880
4927
|
});
|
4881
4928
|
|
4882
4929
|
// Copyright (c) Microsoft Corporation.
|
@@ -4996,8 +5043,8 @@ const ResponsiveHorizontalGallery = (props) => {
|
|
4996
5043
|
*/
|
4997
5044
|
const calculateChildrenPerPage = (args) => {
|
4998
5045
|
const { numberOfChildren, containerWidth, buttonWidthRem, childWidthRem, gapWidthRem } = args;
|
4999
|
-
const childWidth =
|
5000
|
-
const gapWidth =
|
5046
|
+
const childWidth = _convertRemToPx(childWidthRem);
|
5047
|
+
const gapWidth = _convertRemToPx(gapWidthRem);
|
5001
5048
|
/** First check how many children can fit in containerWidth.
|
5002
5049
|
* __________________________________
|
5003
5050
|
* | || |
|
@@ -5011,7 +5058,7 @@ const calculateChildrenPerPage = (args) => {
|
|
5011
5058
|
if (numberOfChildren <= numberOfChildrenInContainer) {
|
5012
5059
|
return numberOfChildrenInContainer;
|
5013
5060
|
}
|
5014
|
-
const buttonWidth =
|
5061
|
+
const buttonWidth = _convertRemToPx(buttonWidthRem);
|
5015
5062
|
/** We know we need to paginate. So we need to subtract the buttonWidth twice and gapWidth twice from
|
5016
5063
|
* containerWidth to compute childrenSpace
|
5017
5064
|
* <-----------containerWidth--------->
|
@@ -6518,7 +6565,7 @@ const generateDefaultDeviceMenuProps = (props, strings, isSelectCamAllowed = tru
|
|
6518
6565
|
maxWidth: '95%'
|
6519
6566
|
}
|
6520
6567
|
},
|
6521
|
-
preventDismissOnEvent
|
6568
|
+
preventDismissOnEvent: _preventDismissOnEvent
|
6522
6569
|
}
|
6523
6570
|
};
|
6524
6571
|
const menuItemStyles = react.merge(buttonFlyoutItemStyles, (_b = (_a = props.styles) === null || _a === void 0 ? void 0 : _a.menuItemStyles) !== null && _b !== void 0 ? _b : {});
|
@@ -6958,7 +7005,7 @@ const ParticipantsButton = (props) => {
|
|
6958
7005
|
styles: react.merge(participantsButtonMenuPropsStyle, styles === null || styles === void 0 ? void 0 : styles.menuStyles),
|
6959
7006
|
items: [],
|
6960
7007
|
calloutProps: {
|
6961
|
-
preventDismissOnEvent
|
7008
|
+
preventDismissOnEvent: _preventDismissOnEvent
|
6962
7009
|
}
|
6963
7010
|
};
|
6964
7011
|
if (participantCount > 0) {
|
@@ -6987,7 +7034,7 @@ const ParticipantsButton = (props) => {
|
|
6987
7034
|
},
|
6988
7035
|
// Disable dismiss on resize to work around a couple Fluent UI bugs
|
6989
7036
|
// See reasoning in the props for the parent menu.
|
6990
|
-
preventDismissOnEvent
|
7037
|
+
preventDismissOnEvent: _preventDismissOnEvent
|
6991
7038
|
}
|
6992
7039
|
},
|
6993
7040
|
'data-ui-id': ids.participantButtonPeopleMenuItem
|
@@ -7156,7 +7203,7 @@ const DrawerMenuItem = (props) => {
|
|
7156
7203
|
} }, props.secondaryText))),
|
7157
7204
|
secondaryIcon && React__default['default'].createElement(react.Stack.Item, null, secondaryIcon)));
|
7158
7205
|
};
|
7159
|
-
const MenuItemIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({ className: react.mergeStyles(iconStyles) }, props)));
|
7206
|
+
const MenuItemIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({ className: react.mergeStyles(iconStyles$1) }, props)));
|
7160
7207
|
const menuItemChildrenGap = { childrenGap: '0.5rem' };
|
7161
7208
|
const drawerMenuItemRootStyles = (hoverBackground, fontSize) => (Object.assign(Object.assign({}, fontSize), { height: '3rem', lineHeight: '3rem', padding: '0rem 0.75rem', cursor: 'pointer', ':hover, :focus': {
|
7162
7209
|
background: hoverBackground
|
@@ -7176,7 +7223,7 @@ const drawerMenuItemTextStyles = {
|
|
7176
7223
|
whiteSpace: 'nowrap'
|
7177
7224
|
}
|
7178
7225
|
};
|
7179
|
-
const iconStyles = {
|
7226
|
+
const iconStyles$1 = {
|
7180
7227
|
// Vertically center icons in the menu item. Using line-height does not work for centering fluent SVG icons.
|
7181
7228
|
display: 'flex',
|
7182
7229
|
alignItems: 'center',
|
@@ -7571,7 +7618,7 @@ const buttonStyles = (theme) => ({
|
|
7571
7618
|
const primaryContentStyles = (theme) => {
|
7572
7619
|
return {
|
7573
7620
|
fontSize: '1.25rem',
|
7574
|
-
fontWeight:
|
7621
|
+
fontWeight: theme.fonts.medium.fontWeight,
|
7575
7622
|
color: `${theme.palette.neutralPrimary}`
|
7576
7623
|
};
|
7577
7624
|
};
|
@@ -7667,7 +7714,6 @@ const formatPhoneNumber = (phoneNumber) => {
|
|
7667
7714
|
};
|
7668
7715
|
|
7669
7716
|
// Copyright (c) Microsoft Corporation.
|
7670
|
-
/* @conditional-compile-remove(dialpad) */
|
7671
7717
|
const DialpadButton = (props) => {
|
7672
7718
|
var _a, _b, _c, _d;
|
7673
7719
|
const theme = react.useTheme();
|
@@ -7678,7 +7724,6 @@ const DialpadButton = (props) => {
|
|
7678
7724
|
React__default['default'].createElement(react.Text, { className: react.mergeStyles(primaryContentStyles(theme), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.primaryContent) }, props.primaryContent),
|
7679
7725
|
React__default['default'].createElement(react.Text, { className: react.mergeStyles(secondaryContentStyles(theme), (_c = props.styles) === null || _c === void 0 ? void 0 : _c.secondaryContent) }, (_d = props.secondaryContent) !== null && _d !== void 0 ? _d : ' '))));
|
7680
7726
|
};
|
7681
|
-
/* @conditional-compile-remove(dialpad) */
|
7682
7727
|
const dialPadButtonsDefault = [
|
7683
7728
|
[
|
7684
7729
|
{ primaryContent: '1' },
|
@@ -7697,7 +7742,6 @@ const dialPadButtonsDefault = [
|
|
7697
7742
|
],
|
7698
7743
|
[{ primaryContent: '*' }, { primaryContent: '0', secondaryContent: '+' }, { primaryContent: '#' }]
|
7699
7744
|
];
|
7700
|
-
/* @conditional-compile-remove(dialpad) */
|
7701
7745
|
const DtmfTones = [
|
7702
7746
|
'Num1',
|
7703
7747
|
'Num2',
|
@@ -7712,7 +7756,6 @@ const DtmfTones = [
|
|
7712
7756
|
'Num0',
|
7713
7757
|
'Pound'
|
7714
7758
|
];
|
7715
|
-
/* @conditional-compile-remove(dialpad) */
|
7716
7759
|
const DialpadContainer = (props) => {
|
7717
7760
|
var _a, _b;
|
7718
7761
|
const theme = react.useTheme();
|
@@ -7797,11 +7840,12 @@ const DialpadContainer = (props) => {
|
|
7797
7840
|
const Dialpad = (props) => {
|
7798
7841
|
/* @conditional-compile-remove(dialpad) */
|
7799
7842
|
const localeStrings = useLocale$1().strings.dialpad;
|
7800
|
-
|
7801
|
-
|
7802
|
-
|
7803
|
-
|
7804
|
-
|
7843
|
+
const dialpadLocaleStringsTrampoline = () => {
|
7844
|
+
/* @conditional-compile-remove(dialpad) */
|
7845
|
+
return localeStrings;
|
7846
|
+
};
|
7847
|
+
const strings = Object.assign(Object.assign({}, dialpadLocaleStringsTrampoline()), props.strings);
|
7848
|
+
return React__default['default'].createElement(DialpadContainer, Object.assign({ strings: strings }, props));
|
7805
7849
|
};
|
7806
7850
|
|
7807
7851
|
// Copyright (c) Microsoft Corporation.
|
@@ -7849,15 +7893,15 @@ const _videoGalleryRemoteParticipantsMemo = (remoteParticipants) => {
|
|
7849
7893
|
return participant.state !== 'InLobby';
|
7850
7894
|
})
|
7851
7895
|
.map((participant) => {
|
7852
|
-
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, participant.displayName);
|
7896
|
+
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, participant.state, participant.displayName);
|
7853
7897
|
});
|
7854
7898
|
});
|
7855
7899
|
};
|
7856
|
-
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, displayName) => {
|
7857
|
-
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, displayName);
|
7900
|
+
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName) => {
|
7901
|
+
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName);
|
7858
7902
|
});
|
7859
7903
|
/** @private */
|
7860
|
-
const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, displayName) => {
|
7904
|
+
const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName) => {
|
7861
7905
|
const rawVideoStreamsArray = Object.values(videoStreams);
|
7862
7906
|
let videoStream = undefined;
|
7863
7907
|
let screenShareStream = undefined;
|
@@ -7884,7 +7928,10 @@ const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted
|
|
7884
7928
|
isSpeaking,
|
7885
7929
|
videoStream,
|
7886
7930
|
screenShareStream,
|
7887
|
-
isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable
|
7931
|
+
isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,
|
7932
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
7933
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
7934
|
+
state: convertRemoteParticipantStateToVideoGalleryRemoteParticipantState(state)
|
7888
7935
|
};
|
7889
7936
|
};
|
7890
7937
|
const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
|
@@ -7898,6 +7945,29 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
|
|
7898
7945
|
renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target
|
7899
7946
|
};
|
7900
7947
|
};
|
7948
|
+
/* @conditional-compile-remove(one-to-n-calling) */
|
7949
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
7950
|
+
/**
|
7951
|
+
* We convert the Communication Participant states to simpler states that can be used with VideoTiles/VideoGallery.
|
7952
|
+
*/
|
7953
|
+
const convertRemoteParticipantStateToVideoGalleryRemoteParticipantState = (state) => {
|
7954
|
+
// `Idle` is the first state of the participant.
|
7955
|
+
if (state === 'Idle' || state === 'Connecting') {
|
7956
|
+
return 'Connecting';
|
7957
|
+
}
|
7958
|
+
// `EarlyMedia` is a state when the media is played before a participant connects to the call.
|
7959
|
+
// It occurs immediately after the `Connecting` state.
|
7960
|
+
if (state === 'EarlyMedia' || state === 'Ringing') {
|
7961
|
+
return 'Ringing';
|
7962
|
+
}
|
7963
|
+
if (state === 'Hold') {
|
7964
|
+
return 'Hold';
|
7965
|
+
}
|
7966
|
+
if (state === 'Connected') {
|
7967
|
+
return 'Connected';
|
7968
|
+
}
|
7969
|
+
return;
|
7970
|
+
};
|
7901
7971
|
|
7902
7972
|
// Copyright (c) Microsoft Corporation.
|
7903
7973
|
/**
|
@@ -7924,7 +7994,7 @@ const videoGallerySelector = reselect.createSelector([
|
|
7924
7994
|
const noRemoteParticipants = [];
|
7925
7995
|
return {
|
7926
7996
|
screenShareParticipant: screenShareRemoteParticipant
|
7927
|
-
? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.displayName)
|
7997
|
+
? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName)
|
7928
7998
|
: undefined,
|
7929
7999
|
localParticipant: {
|
7930
8000
|
userId: identifier,
|
@@ -12517,7 +12587,13 @@ const COMPOSITE_ONLY_ICONS = {
|
|
12517
12587
|
NoticePageLeftCall: React__default['default'].createElement(reactIcons.CallEnd20Filled, null),
|
12518
12588
|
NoticePageRemovedFromCall: React__default['default'].createElement(reactIcons.Info20Filled, null),
|
12519
12589
|
/* @conditional-compile-remove(file-sharing) */
|
12520
|
-
SendBoxAttachFile: React__default['default'].createElement(reactIcons.Attach20Regular, null)
|
12590
|
+
SendBoxAttachFile: React__default['default'].createElement(reactIcons.Attach20Regular, null),
|
12591
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
12592
|
+
PeoplePaneAddPerson: React__default['default'].createElement(reactIcons.PersonAdd20Regular, null),
|
12593
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
12594
|
+
PeoplePaneOpenDialpad: React__default['default'].createElement(reactIcons.Dialpad20Regular, null),
|
12595
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
12596
|
+
DialpadStartCall: React__default['default'].createElement(reactIcons.Call20Regular, null)
|
12521
12597
|
};
|
12522
12598
|
/**
|
12523
12599
|
* The default set of icons that are available to used in the Composites.
|
@@ -12550,7 +12626,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
|
|
12550
12626
|
*/
|
12551
12627
|
const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
|
12552
12628
|
|
12553
|
-
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"};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",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",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back"};var en_US = {call:call$d,chat:chat$d,callWithChat:callWithChat$d};
|
12629
|
+
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 Dialpad"};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",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"};var en_US = {call:call$d,chat:chat$d,callWithChat:callWithChat$d};
|
12554
12630
|
|
12555
12631
|
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};
|
12556
12632
|
|
@@ -15155,8 +15231,324 @@ const copyLinkButtonStyles = {
|
|
15155
15231
|
/**
|
15156
15232
|
* @private
|
15157
15233
|
*/
|
15158
|
-
const
|
15234
|
+
const themedCopyLinkButtonStyles$1 = (mobileView, theme) => ({
|
15235
|
+
root: {
|
15236
|
+
minHeight: mobileView ? '3rem' : '2.5rem',
|
15237
|
+
borderRadius: mobileView ? theme.effects.roundedCorner6 : theme.effects.roundedCorner4
|
15238
|
+
}
|
15239
|
+
});
|
15240
|
+
|
15241
|
+
// Copyright (c) Microsoft Corporation.
|
15242
|
+
// Licensed under the MIT license.
|
15243
|
+
/**
|
15244
|
+
* Convert IContextualMenuItem to _DrawerMenuItemProps
|
15245
|
+
* @param contextualMenu - IContextualMenuItem to convert
|
15246
|
+
* @param onDrawerMenuItemClick - callback to call when converted DrawerMenuItem is clicked
|
15247
|
+
* @returns DrawerMenuItem
|
15248
|
+
* @private
|
15249
|
+
*/
|
15250
|
+
const convertContextualMenuItemToDrawerMenuItem = (contextualMenu, onDrawerMenuItemClick) => {
|
15251
|
+
return {
|
15252
|
+
itemKey: contextualMenu.key,
|
15253
|
+
onItemClick: () => {
|
15254
|
+
var _a;
|
15255
|
+
(_a = contextualMenu.onClick) === null || _a === void 0 ? void 0 : _a.call(contextualMenu);
|
15256
|
+
onDrawerMenuItemClick();
|
15257
|
+
},
|
15258
|
+
iconProps: contextualMenu.iconProps,
|
15259
|
+
text: contextualMenu.text,
|
15260
|
+
disabled: contextualMenu.disabled
|
15261
|
+
};
|
15262
|
+
};
|
15263
|
+
|
15264
|
+
// Copyright (c) Microsoft Corporation.
|
15265
|
+
// Licensed under the MIT license.
|
15266
|
+
/**
|
15267
|
+
* @private
|
15268
|
+
*/
|
15269
|
+
const themedCopyLinkButtonStyles = (theme, mobileView) => ({
|
15270
|
+
root: {
|
15271
|
+
minHeight: mobileView ? '3rem' : '2.5rem',
|
15272
|
+
borderRadius: mobileView ? theme.effects.roundedCorner6 : theme.effects.roundedCorner4,
|
15273
|
+
width: '100%'
|
15274
|
+
},
|
15275
|
+
textContainer: {
|
15276
|
+
display: 'contents'
|
15277
|
+
}
|
15278
|
+
});
|
15279
|
+
/**
|
15280
|
+
* @private
|
15281
|
+
*/
|
15282
|
+
const themedMenuStyle = (theme) => ({
|
15283
|
+
root: {
|
15284
|
+
borderRadius: theme.effects.roundedCorner6
|
15285
|
+
}
|
15286
|
+
});
|
15287
|
+
/**
|
15288
|
+
* @private
|
15289
|
+
*/
|
15290
|
+
const iconStyles = {
|
15291
|
+
// overwrite default line height which results in icons having different size
|
15292
|
+
lineHeight: '0',
|
15293
|
+
width: '1.125rem'
|
15294
|
+
};
|
15295
|
+
|
15296
|
+
// Copyright (c) Microsoft Corporation.
|
15297
|
+
// Licensed under the MIT license.
|
15298
|
+
/**
|
15299
|
+
* @private
|
15300
|
+
*/
|
15301
|
+
const themedDialpadModelStyle = (theme) => ({
|
15302
|
+
main: {
|
15303
|
+
borderRadius: theme.effects.roundedCorner6,
|
15304
|
+
padding: '1rem'
|
15305
|
+
}
|
15306
|
+
});
|
15307
|
+
/**
|
15308
|
+
* @private
|
15309
|
+
*/
|
15310
|
+
const themedDialpadStyle = (isMobile, theme) => ({
|
15311
|
+
root: {
|
15312
|
+
padding: 0,
|
15313
|
+
marginLeft: 0,
|
15314
|
+
marginRight: 0,
|
15315
|
+
maxWidth: '100%'
|
15316
|
+
},
|
15317
|
+
textField: {
|
15318
|
+
root: {
|
15319
|
+
borderBottom: `1px solid ${theme.palette.neutralTertiaryAlt}`
|
15320
|
+
},
|
15321
|
+
field: {
|
15322
|
+
backgroundColor: theme.palette.white,
|
15323
|
+
fontSize: theme.fonts.large.fontSize,
|
15324
|
+
padding: '1.063rem 0.5rem',
|
15325
|
+
textAlign: isMobile ? 'center' : 'left',
|
15326
|
+
paddingTop: 0
|
15327
|
+
}
|
15328
|
+
},
|
15329
|
+
primaryContent: {
|
15330
|
+
color: theme.palette.themeDarkAlt
|
15331
|
+
}
|
15332
|
+
});
|
15333
|
+
/**
|
15334
|
+
* @private
|
15335
|
+
*/
|
15336
|
+
const themedCallButtonStyle = (theme) => ({
|
15337
|
+
root: {
|
15338
|
+
fontWeight: theme.fonts.medium.fontWeight,
|
15339
|
+
fontSize: theme.fonts.medium.fontSize,
|
15340
|
+
width: '100%',
|
15341
|
+
height: '2.5rem',
|
15342
|
+
borderRadius: 3,
|
15343
|
+
padding: '0.625rem'
|
15344
|
+
},
|
15345
|
+
textContainer: {
|
15346
|
+
display: 'contents'
|
15347
|
+
}
|
15348
|
+
});
|
15159
15349
|
|
15350
|
+
// Copyright (c) Microsoft Corporation.
|
15351
|
+
// Licensed under the MIT license.
|
15352
|
+
/**
|
15353
|
+
* @private
|
15354
|
+
*/
|
15355
|
+
const compositeOuterContainerStyles = {
|
15356
|
+
root: {
|
15357
|
+
width: '100%',
|
15358
|
+
// Create a new stacking context so that DrawerMenu can be positioned absolutely.
|
15359
|
+
position: 'relative'
|
15360
|
+
}
|
15361
|
+
};
|
15362
|
+
/** @private */
|
15363
|
+
const callCompositeContainerStyles = {
|
15364
|
+
root: {
|
15365
|
+
// Start a new stacking context so that any `position:absolute` elements
|
15366
|
+
// inside the call composite do not compete with its siblings.
|
15367
|
+
position: 'relative'
|
15368
|
+
}
|
15369
|
+
};
|
15370
|
+
/** @private */
|
15371
|
+
const controlBarContainerStyles = {
|
15372
|
+
root: {
|
15373
|
+
// Start a new stacking context so that any `position:absolute` elements
|
15374
|
+
// inside the control bar do not compete with its siblings.
|
15375
|
+
position: 'relative'
|
15376
|
+
}
|
15377
|
+
};
|
15378
|
+
/** @private */
|
15379
|
+
const drawerContainerStyles$1 = {
|
15380
|
+
root: {
|
15381
|
+
position: 'absolute',
|
15382
|
+
top: 0,
|
15383
|
+
left: 0,
|
15384
|
+
width: '100%',
|
15385
|
+
height: '100%',
|
15386
|
+
// Any zIndex > 0 will work because this is the only absolutely
|
15387
|
+
// positioned element in the container.
|
15388
|
+
zIndex: 1
|
15389
|
+
}
|
15390
|
+
};
|
15391
|
+
|
15392
|
+
// Copyright (c) Microsoft Corporation.
|
15393
|
+
/** @private */
|
15394
|
+
const CallingDialpad = (props) => {
|
15395
|
+
const { strings, isMobile, showDialpad, onDismissDialpad } = props;
|
15396
|
+
const [textFieldInput, setTextFieldInput] = React.useState('');
|
15397
|
+
const theme = react.useTheme();
|
15398
|
+
const onDismissTriggered = () => {
|
15399
|
+
setTextFieldInput('');
|
15400
|
+
onDismissDialpad();
|
15401
|
+
};
|
15402
|
+
const onClickCall = () => {
|
15403
|
+
//place holder for adding calling functionality
|
15404
|
+
console.log(textFieldInput);
|
15405
|
+
};
|
15406
|
+
const dialpadModelStyle = React.useMemo(() => themedDialpadModelStyle(theme), [theme]);
|
15407
|
+
const dialpadStyle = React.useMemo(() => themedDialpadStyle(isMobile, theme), [theme, isMobile]);
|
15408
|
+
const callButtonStyle = React.useMemo(() => themedCallButtonStyle(theme), [theme]);
|
15409
|
+
const dialpadComponent = () => {
|
15410
|
+
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
15411
|
+
React__default['default'].createElement(Dialpad, { onChange: setTextFieldInput, styles: dialpadStyle }),
|
15412
|
+
React__default['default'].createElement(react.PrimaryButton, { text: strings.dialpadStartCallButtonLabel, onRenderIcon: () => DialpadStartCallIconTrampoline(), onClick: onClickCall, styles: callButtonStyle, disabled: textFieldInput === '' })));
|
15413
|
+
};
|
15414
|
+
if (isMobile) {
|
15415
|
+
return (React__default['default'].createElement(react.Stack, { "data-ui-id": "call-with-chat-composite-dialpad" }, showDialpad && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles$1 },
|
15416
|
+
React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onDismissTriggered },
|
15417
|
+
React__default['default'].createElement(react.Stack, { style: { padding: '16px' } }, dialpadComponent()))))));
|
15418
|
+
}
|
15419
|
+
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: dialpadModelStyle, "data-ui-id": "call-with-chat-composite-dialpad" },
|
15420
|
+
React__default['default'].createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center" },
|
15421
|
+
React__default['default'].createElement(react.Text, null, strings.dialpadModalTitle),
|
15422
|
+
React__default['default'].createElement(react.IconButton, { iconProps: { iconName: 'Cancel' }, ariaLabel: strings.dialpadCloseModalButtonAriaLabel, onClick: onDismissTriggered, style: { color: 'black' } })),
|
15423
|
+
React__default['default'].createElement(react.Stack, null, dialpadComponent()))));
|
15424
|
+
};
|
15425
|
+
function DialpadStartCallIconTrampoline() {
|
15426
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
15427
|
+
return React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "DialpadStartCall" });
|
15428
|
+
}
|
15429
|
+
|
15430
|
+
// Copyright (c) Microsoft Corporation.
|
15431
|
+
const mainScreenContainerStyle = {
|
15432
|
+
height: '100%',
|
15433
|
+
width: '100%'
|
15434
|
+
};
|
15435
|
+
/**
|
15436
|
+
* @private
|
15437
|
+
*/
|
15438
|
+
const mainScreenContainerStyleDesktop = react.mergeStyles(Object.assign(Object.assign({}, mainScreenContainerStyle), { minWidth: '30rem', minHeight: '22rem' // max height of min-height of composite pages (Configuration page)
|
15439
|
+
}));
|
15440
|
+
/**
|
15441
|
+
* @private
|
15442
|
+
*/
|
15443
|
+
const mainScreenContainerStyleMobile = react.mergeStyles(Object.assign(Object.assign({}, mainScreenContainerStyle), { minWidth: '17.5rem', minHeight: '13rem' // max height of min-height of composite pages (Configuration page & Call page)
|
15444
|
+
}));
|
15445
|
+
/** @private */
|
15446
|
+
const drawerContainerStyles = {
|
15447
|
+
root: {
|
15448
|
+
position: 'absolute',
|
15449
|
+
top: 0,
|
15450
|
+
left: 0,
|
15451
|
+
width: '100%',
|
15452
|
+
height: '100%',
|
15453
|
+
// Any zIndex > 0 will work because this is the only absolutely
|
15454
|
+
// positioned element in the container.
|
15455
|
+
zIndex: 1
|
15456
|
+
}
|
15457
|
+
};
|
15458
|
+
|
15459
|
+
// Copyright (c) Microsoft Corporation.
|
15460
|
+
/** @private */
|
15461
|
+
const AddPeopleDropdown = (props) => {
|
15462
|
+
const theme = react.useTheme();
|
15463
|
+
const { inviteLink, strings, mobileView } = props;
|
15464
|
+
const [showDialpad, setShowDialpad] = React.useState(false);
|
15465
|
+
const menuStyleThemed = React.useMemo(() => themedMenuStyle(theme), [theme]);
|
15466
|
+
const copyLinkButtonStylesThemed = React.useMemo(() => themedCopyLinkButtonStyles(theme, mobileView), [mobileView, theme]);
|
15467
|
+
const defaultMenuProps = React.useMemo(() => {
|
15468
|
+
const menuProps = {
|
15469
|
+
styles: menuStyleThemed,
|
15470
|
+
items: [],
|
15471
|
+
useTargetWidth: true,
|
15472
|
+
calloutProps: {
|
15473
|
+
preventDismissOnEvent: _preventDismissOnEvent
|
15474
|
+
}
|
15475
|
+
};
|
15476
|
+
if (inviteLink) {
|
15477
|
+
menuProps.items.push({
|
15478
|
+
key: 'InviteLinkKey',
|
15479
|
+
text: strings.copyInviteLinkButtonLabel,
|
15480
|
+
itemProps: { styles: copyLinkButtonStylesThemed },
|
15481
|
+
iconProps: { iconName: 'Link', style: iconStyles },
|
15482
|
+
onClick: () => copy__default['default'](inviteLink)
|
15483
|
+
});
|
15484
|
+
}
|
15485
|
+
menuProps.items.push({
|
15486
|
+
key: 'DialpadKey',
|
15487
|
+
text: strings.openDialpadButtonLabel,
|
15488
|
+
itemProps: { styles: copyLinkButtonStylesThemed },
|
15489
|
+
iconProps: { iconName: PeoplePaneOpenDialpadIconNameTrampoline(), style: iconStyles },
|
15490
|
+
onClick: () => setShowDialpad(true),
|
15491
|
+
'data-ui-id': 'call-with-chat-composite-dial-phone-number-button'
|
15492
|
+
});
|
15493
|
+
return menuProps;
|
15494
|
+
}, [
|
15495
|
+
strings.copyInviteLinkButtonLabel,
|
15496
|
+
strings.openDialpadButtonLabel,
|
15497
|
+
copyLinkButtonStylesThemed,
|
15498
|
+
inviteLink,
|
15499
|
+
menuStyleThemed
|
15500
|
+
]);
|
15501
|
+
const onDismissDialpad = () => {
|
15502
|
+
setShowDialpad(false);
|
15503
|
+
};
|
15504
|
+
const [addPeopleDrawerMenuItems, setAddPeopleDrawerMenuItems] = React.useState([]);
|
15505
|
+
const setDrawerMenuItemsForAddPeople = React.useMemo(() => {
|
15506
|
+
return () => {
|
15507
|
+
const drawerMenuItems = defaultMenuProps.items.map((contextualMenu) => convertContextualMenuItemToDrawerMenuItem(contextualMenu, () => setAddPeopleDrawerMenuItems([])));
|
15508
|
+
setAddPeopleDrawerMenuItems(drawerMenuItems);
|
15509
|
+
};
|
15510
|
+
}, [defaultMenuProps, setAddPeopleDrawerMenuItems]);
|
15511
|
+
if (mobileView) {
|
15512
|
+
return (React__default['default'].createElement(react.Stack, null,
|
15513
|
+
React__default['default'].createElement(react.Stack.Item, { styles: copyLinkButtonContainerStyles },
|
15514
|
+
React__default['default'].createElement(react.PrimaryButton, { onClick: setDrawerMenuItemsForAddPeople, styles: copyLinkButtonStylesThemed, onRenderIcon: () => PeoplePaneAddPersonIconTrampoline(), text: strings.peoplePaneAddPeopleButtonLabel, "data-ui-id": "call-with-chat-composite-add-people-button" })),
|
15515
|
+
addPeopleDrawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles, "data-ui-id": "call-with-chat-composite-add-people-dropdown" },
|
15516
|
+
React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setAddPeopleDrawerMenuItems([]), items: addPeopleDrawerMenuItems }))),
|
15517
|
+
React__default['default'].createElement(CallingDialpad, { isMobile: true, strings: strings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad })));
|
15518
|
+
}
|
15519
|
+
return (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(react.Stack, null,
|
15520
|
+
React__default['default'].createElement(CallingDialpad, { isMobile: false, strings: strings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad }),
|
15521
|
+
React__default['default'].createElement(react.Stack, { styles: copyLinkButtonStackStyles },
|
15522
|
+
React__default['default'].createElement(react.DefaultButton, { onRenderIcon: () => PeoplePaneAddPersonIconTrampoline(), text: strings.peoplePaneAddPeopleButtonLabel, menuProps: defaultMenuProps, styles: copyLinkButtonStylesThemed, "data-ui-id": "call-with-chat-composite-add-people-button" })))));
|
15523
|
+
};
|
15524
|
+
function PeoplePaneOpenDialpadIconNameTrampoline() {
|
15525
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
15526
|
+
return 'PeoplePaneOpenDialpad';
|
15527
|
+
}
|
15528
|
+
function PeoplePaneAddPersonIconTrampoline() {
|
15529
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
15530
|
+
return React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "PeoplePaneAddPerson" });
|
15531
|
+
}
|
15532
|
+
|
15533
|
+
// Copyright (c) Microsoft Corporation.
|
15534
|
+
/** @private */
|
15535
|
+
const AddPeopleButton = (props) => {
|
15536
|
+
const { inviteLink, mobileView, strings, participantList } = props;
|
15537
|
+
const theme = react.useTheme();
|
15538
|
+
React.useMemo(() => react.concatStyleSets(copyLinkButtonStyles, themedCopyLinkButtonStyles$1(mobileView, theme)), [mobileView, theme]);
|
15539
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
15540
|
+
if (mobileView) {
|
15541
|
+
return React__default['default'].createElement(AddPeopleDropdown, { strings: strings, mobileView: mobileView, inviteLink: inviteLink });
|
15542
|
+
}
|
15543
|
+
else {
|
15544
|
+
return (React__default['default'].createElement(react.Stack, { tokens: peoplePaneContainerTokens },
|
15545
|
+
React__default['default'].createElement(AddPeopleDropdown, { strings: strings, mobileView: mobileView, inviteLink: inviteLink }),
|
15546
|
+
participantList));
|
15547
|
+
}
|
15548
|
+
};
|
15549
|
+
|
15550
|
+
// Copyright (c) Microsoft Corporation.
|
15551
|
+
// Licensed under the MIT license.
|
15160
15552
|
var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15161
15553
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15162
15554
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -15199,23 +15591,12 @@ const PeoplePaneContent = (props) => {
|
|
15199
15591
|
onParticipantClick: props.mobileView ? setDrawerMenuItemsForParticipant : undefined });
|
15200
15592
|
}, [participantListDefaultProps, props.mobileView, setDrawerMenuItemsForParticipant, onRemoveParticipant]);
|
15201
15593
|
const participantList = (React__default['default'].createElement(ParticipantListWithHeading, { isMobile: props.mobileView, participantListProps: participantListProps, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, title: props.strings.peoplePaneSubTitle }));
|
15202
|
-
const theme = react.useTheme();
|
15203
|
-
const copyLinkButtonStylesThemed = React.useMemo(() => react.concatStyleSets(copyLinkButtonStyles, {
|
15204
|
-
root: {
|
15205
|
-
minHeight: props.mobileView ? '3rem' : '2.5rem',
|
15206
|
-
borderRadius: props.mobileView ? theme.effects.roundedCorner6 : theme.effects.roundedCorner4
|
15207
|
-
}
|
15208
|
-
}), [props.mobileView, theme.effects.roundedCorner6, theme.effects.roundedCorner4]);
|
15209
15594
|
if (props.mobileView) {
|
15210
15595
|
return (React__default['default'].createElement(react.Stack, { verticalFill: true, styles: peoplePaneContainerStyle, tokens: peoplePaneContainerTokens },
|
15211
15596
|
React__default['default'].createElement(react.Stack.Item, { grow: true, styles: participantListContainerStyles }, participantList),
|
15212
|
-
|
15213
|
-
React__default['default'].createElement(react.PrimaryButton, { onClick: () => copy__default['default'](inviteLink), styles: copyLinkButtonStylesThemed, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), text: strings.copyInviteLinkButtonLabel })))));
|
15597
|
+
React__default['default'].createElement(AddPeopleButton, { inviteLink: inviteLink, mobileView: props.mobileView, participantList: participantList, strings: strings })));
|
15214
15598
|
}
|
15215
|
-
return (React__default['default'].createElement(
|
15216
|
-
inviteLink && (React__default['default'].createElement(react.Stack, { styles: copyLinkButtonStackStyles },
|
15217
|
-
React__default['default'].createElement(react.DefaultButton, { text: strings.copyInviteLinkButtonLabel, onRenderIcon: () => React__default['default'].createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), onClick: () => copy__default['default'](inviteLink), styles: copyLinkButtonStylesThemed }))),
|
15218
|
-
participantList));
|
15599
|
+
return (React__default['default'].createElement(AddPeopleButton, { inviteLink: inviteLink, mobileView: props.mobileView, participantList: participantList, strings: strings }));
|
15219
15600
|
};
|
15220
15601
|
/**
|
15221
15602
|
* Create default contextual menu items for particant
|
@@ -15244,54 +15625,6 @@ const createDefaultContextualMenuItems = (participant, strings, onRemoveParticip
|
|
15244
15625
|
}
|
15245
15626
|
return menuItems;
|
15246
15627
|
};
|
15247
|
-
/**
|
15248
|
-
* Convert IContextualMenuItem to _DrawerMenuItemProps
|
15249
|
-
* @param contextualMenu - IContextualMenuItem to convert
|
15250
|
-
* @param onDrawerMenuItemClick - callback to call when converted DrawerMenuItem is clicked
|
15251
|
-
* @returns DrawerMenuItem
|
15252
|
-
*/
|
15253
|
-
const convertContextualMenuItemToDrawerMenuItem = (contextualMenu, onDrawerMenuItemClick) => {
|
15254
|
-
return {
|
15255
|
-
itemKey: contextualMenu.key,
|
15256
|
-
onItemClick: () => {
|
15257
|
-
var _a;
|
15258
|
-
(_a = contextualMenu.onClick) === null || _a === void 0 ? void 0 : _a.call(contextualMenu);
|
15259
|
-
onDrawerMenuItemClick();
|
15260
|
-
},
|
15261
|
-
iconProps: contextualMenu.iconProps,
|
15262
|
-
text: contextualMenu.text,
|
15263
|
-
disabled: contextualMenu.disabled
|
15264
|
-
};
|
15265
|
-
};
|
15266
|
-
|
15267
|
-
// Copyright (c) Microsoft Corporation.
|
15268
|
-
const mainScreenContainerStyle = {
|
15269
|
-
height: '100%',
|
15270
|
-
width: '100%'
|
15271
|
-
};
|
15272
|
-
/**
|
15273
|
-
* @private
|
15274
|
-
*/
|
15275
|
-
const mainScreenContainerStyleDesktop = react.mergeStyles(Object.assign(Object.assign({}, mainScreenContainerStyle), { minWidth: '30rem', minHeight: '22rem' // max height of min-height of composite pages (Configuration page)
|
15276
|
-
}));
|
15277
|
-
/**
|
15278
|
-
* @private
|
15279
|
-
*/
|
15280
|
-
const mainScreenContainerStyleMobile = react.mergeStyles(Object.assign(Object.assign({}, mainScreenContainerStyle), { minWidth: '17.5rem', minHeight: '13rem' // max height of min-height of composite pages (Configuration page & Call page)
|
15281
|
-
}));
|
15282
|
-
/** @private */
|
15283
|
-
const drawerContainerStyles$1 = {
|
15284
|
-
root: {
|
15285
|
-
position: 'absolute',
|
15286
|
-
top: 0,
|
15287
|
-
left: 0,
|
15288
|
-
width: '100%',
|
15289
|
-
height: '100%',
|
15290
|
-
// Any zIndex > 0 will work because this is the only absolutely
|
15291
|
-
// positioned element in the container.
|
15292
|
-
zIndex: 1
|
15293
|
-
}
|
15294
|
-
};
|
15295
15628
|
|
15296
15629
|
// Copyright (c) Microsoft Corporation.
|
15297
15630
|
/**
|
@@ -15479,7 +15812,7 @@ const CallPane = (props) => {
|
|
15479
15812
|
React__default['default'].createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
15480
15813
|
React__default['default'].createElement(PeoplePaneContent, Object.assign({}, props, { onRemoveParticipant: removeParticipantFromCall, setDrawerMenuItems: setDrawerMenuItems, strings: strings }))))))),
|
15481
15814
|
props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { callAdapter: props.callAdapter, modalLayerHostId: props.modalLayerHostId, hidden: hidden, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
|
15482
|
-
drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles
|
15815
|
+
drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles },
|
15483
15816
|
React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems })))));
|
15484
15817
|
};
|
15485
15818
|
|
@@ -17698,48 +18031,6 @@ const getDesktopEndCallButtonStyles = (theme) => {
|
|
17698
18031
|
};
|
17699
18032
|
const isEnabled$1 = (option) => option !== false;
|
17700
18033
|
|
17701
|
-
// Copyright (c) Microsoft Corporation.
|
17702
|
-
// Licensed under the MIT license.
|
17703
|
-
/**
|
17704
|
-
* @private
|
17705
|
-
*/
|
17706
|
-
const compositeOuterContainerStyles = {
|
17707
|
-
root: {
|
17708
|
-
width: '100%',
|
17709
|
-
// Create a new stacking context so that DrawerMenu can be positioned absolutely.
|
17710
|
-
position: 'relative'
|
17711
|
-
}
|
17712
|
-
};
|
17713
|
-
/** @private */
|
17714
|
-
const callCompositeContainerStyles = {
|
17715
|
-
root: {
|
17716
|
-
// Start a new stacking context so that any `position:absolute` elements
|
17717
|
-
// inside the call composite do not compete with its siblings.
|
17718
|
-
position: 'relative'
|
17719
|
-
}
|
17720
|
-
};
|
17721
|
-
/** @private */
|
17722
|
-
const controlBarContainerStyles = {
|
17723
|
-
root: {
|
17724
|
-
// Start a new stacking context so that any `position:absolute` elements
|
17725
|
-
// inside the control bar do not compete with its siblings.
|
17726
|
-
position: 'relative'
|
17727
|
-
}
|
17728
|
-
};
|
17729
|
-
/** @private */
|
17730
|
-
const drawerContainerStyles = {
|
17731
|
-
root: {
|
17732
|
-
position: 'absolute',
|
17733
|
-
top: 0,
|
17734
|
-
left: 0,
|
17735
|
-
width: '100%',
|
17736
|
-
height: '100%',
|
17737
|
-
// Any zIndex > 0 will work because this is the only absolutely
|
17738
|
-
// positioned element in the container.
|
17739
|
-
zIndex: 1
|
17740
|
-
}
|
17741
|
-
};
|
17742
|
-
|
17743
18034
|
// Copyright (c) Microsoft Corporation.
|
17744
18035
|
// Licensed under the MIT license.
|
17745
18036
|
var __awaiter$3 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
@@ -18157,7 +18448,7 @@ const CallWithChatPane = (props) => {
|
|
18157
18448
|
React__default['default'].createElement(react.Stack, { styles: props.activePane === 'chat' ? availableSpaceStyles : hiddenStyles }, chatContent),
|
18158
18449
|
React__default['default'].createElement(react.Stack, { styles: props.activePane === 'people' ? availableSpaceStyles : hiddenStyles }, peopleContent)))),
|
18159
18450
|
props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { callAdapter: props.callAdapter, modalLayerHostId: props.modalLayerHostId, hidden: hidden, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
|
18160
|
-
drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles },
|
18451
|
+
drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles$1 },
|
18161
18452
|
React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems })))));
|
18162
18453
|
};
|
18163
18454
|
|
@@ -18270,7 +18561,7 @@ const CallWithChatScreen = (props) => {
|
|
18270
18561
|
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, callControls: props.callControls, containerHeight: containerHeight, containerWidth: containerWidth })))),
|
18271
18562
|
showControlBar && showDrawer && (React__default['default'].createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
|
18272
18563
|
React__default['default'].createElement(CallAdapterProvider, { adapter: callAdapter },
|
18273
|
-
React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles },
|
18564
|
+
React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles$1 },
|
18274
18565
|
React__default['default'].createElement(PreparedMoreDrawer, { callControls: props.callControls, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked }))))),
|
18275
18566
|
// This layer host is for ModalLocalAndRemotePIP in CallWithChatPane. This LayerHost cannot be inside the CallWithChatPane
|
18276
18567
|
// because when the CallWithChatPane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging
|