@azure/communication-react 1.9.0-alpha-202310270012 → 1.9.0-alpha-202310310013
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 +9 -3
- package/dist/dist-cjs/communication-react/index.js +134 -66
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +10 -7
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.js +16 -7
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +9 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +21 -22
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +7 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +9 -6
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +7 -4
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.d.ts +11 -0
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +39 -9
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +14 -2
- package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -0
- package/package.json +1 -1
@@ -242,9 +242,11 @@ export declare type AreParamEqual<A extends (props: any) => JSX.Element | undefi
|
|
242
242
|
export declare type AreTypeEqual<A, B> = A extends B ? (B extends A ? true : false) : false;
|
243
243
|
|
244
244
|
/**
|
245
|
+
* Meta Data of the attachment object returned by the ACS SDK.
|
245
246
|
* @beta
|
246
247
|
*/
|
247
248
|
export declare interface AttachmentDownloadResult {
|
249
|
+
attachmentId: string;
|
248
250
|
blobUrl: string;
|
249
251
|
}
|
250
252
|
|
@@ -2132,6 +2134,10 @@ export declare interface CallCompositeStrings {
|
|
2132
2134
|
* All strings for capability changed notification
|
2133
2135
|
*/
|
2134
2136
|
capabilityChangedNotification?: CapabilityChangedNotificationStrings;
|
2137
|
+
/**
|
2138
|
+
* String for the dismiss control on the local and remote PIP on mobile
|
2139
|
+
*/
|
2140
|
+
dismissModalAriaLabel?: string;
|
2135
2141
|
}
|
2136
2142
|
|
2137
2143
|
/**
|
@@ -2761,7 +2767,7 @@ export declare interface CallWithChatAdapterManagement {
|
|
2761
2767
|
/** @beta */
|
2762
2768
|
updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;
|
2763
2769
|
downloadAttachments: (options: {
|
2764
|
-
attachmentUrls: string
|
2770
|
+
attachmentUrls: Record<string, string>;
|
2765
2771
|
}) => Promise<AttachmentDownloadResult[]>;
|
2766
2772
|
/**
|
2767
2773
|
* Puts the Call in a Localhold.
|
@@ -3904,7 +3910,7 @@ export declare interface ChatAdapterThreadManagement {
|
|
3904
3910
|
*/
|
3905
3911
|
loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
|
3906
3912
|
downloadAttachments: (options: {
|
3907
|
-
attachmentUrls: string
|
3913
|
+
attachmentUrls: Record<string, string>;
|
3908
3914
|
}) => Promise<AttachmentDownloadResult[]>;
|
3909
3915
|
}
|
3910
3916
|
|
@@ -7555,7 +7561,7 @@ export declare type MessageThreadProps = {
|
|
7555
7561
|
* @param attachment - FileMetadata object we want to render
|
7556
7562
|
* @beta
|
7557
7563
|
*/
|
7558
|
-
onFetchAttachments?: (
|
7564
|
+
onFetchAttachments?: (attachments: FileMetadata[]) => Promise<AttachmentDownloadResult[]>;
|
7559
7565
|
/**
|
7560
7566
|
* Optional callback to edit a message.
|
7561
7567
|
*
|
@@ -177,7 +177,7 @@ const _isValidIdentifier = (identifier) => {
|
|
177
177
|
// Copyright (c) Microsoft Corporation.
|
178
178
|
// Licensed under the MIT License.
|
179
179
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
180
|
-
var telemetryVersion = '1.9.0-alpha-
|
180
|
+
var telemetryVersion = '1.9.0-alpha-202310310013';
|
181
181
|
|
182
182
|
// Copyright (c) Microsoft Corporation.
|
183
183
|
/**
|
@@ -9523,14 +9523,17 @@ const MessageContentAsRichTextHTML = (props) => {
|
|
9523
9523
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
9524
9524
|
React.useEffect(() => {
|
9525
9525
|
var _a;
|
9526
|
-
(_a = props.message.attachedFilesMetadata) === null || _a === void 0 ? void 0 : _a.
|
9527
|
-
|
9528
|
-
props.attachmentsMap &&
|
9529
|
-
fileMetadata.attachmentType === 'inlineImage' &&
|
9530
|
-
props.attachmentsMap[fileMetadata.id] === undefined) {
|
9531
|
-
props.onFetchAttachment(fileMetadata);
|
9532
|
-
}
|
9526
|
+
const attachments = (_a = props.message.attachedFilesMetadata) === null || _a === void 0 ? void 0 : _a.filter((fileMetadata) => {
|
9527
|
+
return fileMetadata.attachmentType === 'inlineImage';
|
9533
9528
|
});
|
9529
|
+
if (props.attachmentsMap && attachments) {
|
9530
|
+
attachments.forEach((fileMetadata) => {
|
9531
|
+
if (props.onFetchAttachment && props.attachmentsMap && props.attachmentsMap[fileMetadata.id] === undefined) {
|
9532
|
+
props.onFetchAttachment([fileMetadata], props.message.messageId);
|
9533
|
+
return;
|
9534
|
+
}
|
9535
|
+
});
|
9536
|
+
}
|
9534
9537
|
}, [props]);
|
9535
9538
|
return (React__default["default"].createElement(MessageContentWithLiveAria, { message: props.message, liveMessage: generateLiveMessage(props), ariaLabel: messageContentAriaText(props), content: processHtmlToReact(props) }));
|
9536
9539
|
};
|
@@ -10840,14 +10843,18 @@ const MessageThreadWrapper = (props) => {
|
|
10840
10843
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
10841
10844
|
const [inlineAttachments, setInlineAttachments] = React.useState({});
|
10842
10845
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
10843
|
-
const onFetchInlineAttachment = React.useCallback((
|
10844
|
-
if (!onFetchAttachments
|
10846
|
+
const onFetchInlineAttachment = React.useCallback((attachments, messageId) => __awaiter$v(void 0, void 0, void 0, function* () {
|
10847
|
+
if (!onFetchAttachments) {
|
10845
10848
|
return;
|
10846
10849
|
}
|
10847
|
-
|
10848
|
-
const
|
10849
|
-
|
10850
|
-
|
10850
|
+
const attachmentDownloadResult = yield onFetchAttachments(attachments);
|
10851
|
+
const listOfAttachments = inlineAttachments[messageId];
|
10852
|
+
for (const result of attachmentDownloadResult) {
|
10853
|
+
const { attachmentId, blobUrl } = result;
|
10854
|
+
listOfAttachments[attachmentId] = blobUrl;
|
10855
|
+
}
|
10856
|
+
if (Object.keys(listOfAttachments).length > 0) {
|
10857
|
+
setInlineAttachments((prev) => (Object.assign(Object.assign({}, prev), { [messageId]: listOfAttachments })));
|
10851
10858
|
}
|
10852
10859
|
}), [inlineAttachments, onFetchAttachments]);
|
10853
10860
|
const isAllChatMessagesLoadedRef = React.useRef(false);
|
@@ -11058,6 +11065,11 @@ const MessageThreadWrapper = (props) => {
|
|
11058
11065
|
const strings = React.useMemo(() => (Object.assign(Object.assign({}, localeStrings), props.strings)), [localeStrings, props.strings]);
|
11059
11066
|
// To rerender the defaultChatMessageRenderer if app running across days(every new day chat time stamp need to be regenerated)
|
11060
11067
|
const defaultChatMessageRenderer = React.useCallback((messageProps) => {
|
11068
|
+
var _a;
|
11069
|
+
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
11070
|
+
if (inlineAttachments[messageProps.message.messageId] === undefined) {
|
11071
|
+
setInlineAttachments((prev) => (Object.assign(Object.assign({}, prev), { [messageProps.message.messageId]: {} })));
|
11072
|
+
}
|
11061
11073
|
if (messageProps.message.messageType === 'chat' ||
|
11062
11074
|
/* @conditional-compile-remove(data-loss-prevention) */ messageProps.message.messageType === 'blocked') {
|
11063
11075
|
return (React__default["default"].createElement(ChatMessageComponent, Object.assign({}, messageProps, { onRenderFileDownloads: onRenderFileDownloads,
|
@@ -11070,7 +11082,7 @@ const MessageThreadWrapper = (props) => {
|
|
11070
11082
|
/* @conditional-compile-remove(image-gallery) */
|
11071
11083
|
onInlineImageClicked: onInlineImageClicked,
|
11072
11084
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
11073
|
-
attachmentsMap: inlineAttachments,
|
11085
|
+
attachmentsMap: (_a = inlineAttachments[messageProps.message.messageId]) !== null && _a !== void 0 ? _a : {},
|
11074
11086
|
/* @conditional-compile-remove(mention) */
|
11075
11087
|
mentionOptions: mentionOptions })));
|
11076
11088
|
}
|
@@ -21054,7 +21066,7 @@ const CallCompositeIcon = (props) => (React__default["default"].createElement(re
|
|
21054
21066
|
*/
|
21055
21067
|
const CallWithChatCompositeIcon = (props) => (React__default["default"].createElement(react.FontIcon, Object.assign({}, props)));
|
21056
21068
|
|
21057
|
-
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",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",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
21069
|
+
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",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",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
21058
21070
|
|
21059
21071
|
// Copyright (c) Microsoft Corporation.
|
21060
21072
|
/**
|
@@ -21611,10 +21623,13 @@ class AzureCommunicationChatAdapter {
|
|
21611
21623
|
}
|
21612
21624
|
});
|
21613
21625
|
}
|
21614
|
-
const
|
21615
|
-
const
|
21616
|
-
|
21617
|
-
|
21626
|
+
const attachmentDownloadResults = [];
|
21627
|
+
for (const id in options.attachmentUrls) {
|
21628
|
+
const response = yield fetchWithAuthentication(options.attachmentUrls[id], accessToken);
|
21629
|
+
const blob = yield response.blob();
|
21630
|
+
attachmentDownloadResults.push({ attachmentId: id, blobUrl: URL.createObjectURL(blob) });
|
21631
|
+
}
|
21632
|
+
return attachmentDownloadResults;
|
21618
21633
|
});
|
21619
21634
|
}
|
21620
21635
|
messageReceivedListener(event) {
|
@@ -22509,11 +22524,14 @@ const ChatScreen = (props) => {
|
|
22509
22524
|
} })), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
|
22510
22525
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
22511
22526
|
const onRenderInlineAttachment = React.useCallback((attachment) => __awaiter$i(void 0, void 0, void 0, function* () {
|
22512
|
-
|
22513
|
-
|
22514
|
-
|
22515
|
-
|
22516
|
-
|
22527
|
+
const entry = {};
|
22528
|
+
attachment.forEach((target) => {
|
22529
|
+
if (target.attachmentType === 'inlineImage' && target.previewUrl) {
|
22530
|
+
entry[target.id] = target.previewUrl;
|
22531
|
+
}
|
22532
|
+
});
|
22533
|
+
const blob = yield adapter.downloadAttachments({ attachmentUrls: entry });
|
22534
|
+
return blob;
|
22517
22535
|
}), [adapter]);
|
22518
22536
|
/* @conditional-compile-remove(image-gallery) */
|
22519
22537
|
const onInlineImageClicked = React.useCallback((attachmentId, messageId) => __awaiter$i(void 0, void 0, void 0, function* () {
|
@@ -22554,7 +22572,7 @@ const ChatScreen = (props) => {
|
|
22554
22572
|
return;
|
22555
22573
|
}
|
22556
22574
|
if (attachment.attachmentType === 'inlineImage' && attachment.url) {
|
22557
|
-
const blob = yield adapter.downloadAttachments({ attachmentUrls: [attachment.
|
22575
|
+
const blob = yield adapter.downloadAttachments({ attachmentUrls: { [attachment.id]: attachment.url } });
|
22558
22576
|
if (blob[0]) {
|
22559
22577
|
const blobUrl = blob[0].blobUrl;
|
22560
22578
|
setFullSizeAttachments((prev) => (Object.assign(Object.assign({}, prev), { [attachment.id]: blobUrl })));
|
@@ -26774,7 +26792,15 @@ const getPipStyles = (theme) => ({
|
|
26774
26792
|
* @private
|
26775
26793
|
*/
|
26776
26794
|
const PIPContainerStyle = {
|
26777
|
-
root: {
|
26795
|
+
root: {
|
26796
|
+
position: 'absolute',
|
26797
|
+
width: '100%',
|
26798
|
+
height: '100%',
|
26799
|
+
pointerEvents: 'none',
|
26800
|
+
':focus-within': {
|
26801
|
+
outline: '1px solid #00000000'
|
26802
|
+
}
|
26803
|
+
}
|
26778
26804
|
};
|
26779
26805
|
/**
|
26780
26806
|
* @private
|
@@ -26797,7 +26823,11 @@ const modalStyle = {
|
|
26797
26823
|
width: '100%',
|
26798
26824
|
height: '100%',
|
26799
26825
|
// pointer events for root Modal div set to none to make descendants interactive
|
26800
|
-
pointerEvents: 'none'
|
26826
|
+
pointerEvents: 'none',
|
26827
|
+
':focus-within': {
|
26828
|
+
outline: '3px solid #00000000',
|
26829
|
+
outlineOffset: '-3px'
|
26830
|
+
}
|
26801
26831
|
}
|
26802
26832
|
};
|
26803
26833
|
/**
|
@@ -26840,25 +26870,55 @@ const ModalLocalAndRemotePIP = (props) => {
|
|
26840
26870
|
/* @conditional-compile-remove(rooms) */
|
26841
26871
|
const role = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role;
|
26842
26872
|
const pictureInPictureProps = useSelector$1(localAndRemotePIPSelector);
|
26873
|
+
const [touchStartTouches, setTouchStartTouches] = React.useState(null);
|
26874
|
+
const onTouchEnd = React.useCallback((event) => {
|
26875
|
+
var _a;
|
26876
|
+
if (touchStartTouches && touchStartTouches.length === 1 && event.changedTouches.length === 1) {
|
26877
|
+
const touchStartTouch = touchStartTouches[0];
|
26878
|
+
const touchEndTouch = event.changedTouches[0];
|
26879
|
+
if (Math.abs(touchStartTouch.clientX - touchEndTouch.clientX) < 10 &&
|
26880
|
+
Math.abs(touchStartTouch.clientY - touchEndTouch.clientY) < 10) {
|
26881
|
+
(_a = props.onDismissSidePane) === null || _a === void 0 ? void 0 : _a.call(props);
|
26882
|
+
}
|
26883
|
+
}
|
26884
|
+
}, [props, touchStartTouches]);
|
26885
|
+
const onTouchStart = React.useCallback((event) => {
|
26886
|
+
setTouchStartTouches(event.touches);
|
26887
|
+
}, []);
|
26888
|
+
const onKeyDown = React.useCallback((event) => {
|
26889
|
+
var _a;
|
26890
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
26891
|
+
(_a = props.onDismissSidePane) === null || _a === void 0 ? void 0 : _a.call(props);
|
26892
|
+
}
|
26893
|
+
}, [props]);
|
26843
26894
|
const pictureInPictureHandlers = useHandlers();
|
26844
26895
|
const localAndRemotePIP = React.useMemo(() => {
|
26845
|
-
var _a;
|
26896
|
+
var _a, _b, _c, _d, _e;
|
26846
26897
|
/* @conditional-compile-remove(rooms) */
|
26847
26898
|
if (role === 'Consumer' && ((_a = pictureInPictureProps.dominantRemoteParticipant) === null || _a === void 0 ? void 0 : _a.userId)) {
|
26848
|
-
return (React__default["default"].createElement(
|
26899
|
+
return (React__default["default"].createElement(react.Stack, { tabIndex: 0, "aria-label": (_c = (_b = props.strings) === null || _b === void 0 ? void 0 : _b.dismissModalAriaLabel) !== null && _c !== void 0 ? _c : '', onKeyDown: onKeyDown },
|
26900
|
+
React__default["default"].createElement(_RemoteVideoTile, Object.assign({}, pictureInPictureProps.dominantRemoteParticipant, { remoteParticipant: pictureInPictureProps.dominantRemoteParticipant }))));
|
26849
26901
|
}
|
26850
|
-
return React__default["default"].createElement(
|
26851
|
-
|
26902
|
+
return (React__default["default"].createElement(react.Stack, { tabIndex: 0, "aria-label": (_e = (_d = props.strings) === null || _d === void 0 ? void 0 : _d.dismissModalAriaLabel) !== null && _e !== void 0 ? _e : '', onKeyDown: onKeyDown },
|
26903
|
+
React__default["default"].createElement(LocalAndRemotePIP, Object.assign({}, pictureInPictureProps, pictureInPictureHandlers))));
|
26904
|
+
}, [
|
26905
|
+
/* @conditional-compile-remove(rooms) */ role,
|
26906
|
+
onKeyDown,
|
26907
|
+
pictureInPictureProps,
|
26908
|
+
props,
|
26909
|
+
pictureInPictureHandlers
|
26910
|
+
]);
|
26852
26911
|
/* @conditional-compile-remove(rooms) */
|
26853
26912
|
if (role === 'Consumer' && !pictureInPictureProps.dominantRemoteParticipant) {
|
26854
26913
|
return null;
|
26855
26914
|
}
|
26856
26915
|
const modalStylesThemed = react.concatStyleSets(modalStyle, (_b = props.styles) === null || _b === void 0 ? void 0 : _b.modal);
|
26857
26916
|
return (React__default["default"].createElement(react.Stack, { styles: rootStyles },
|
26858
|
-
React__default["default"].createElement(
|
26859
|
-
|
26860
|
-
|
26861
|
-
|
26917
|
+
React__default["default"].createElement(react.Stack, { onTouchStart: onTouchStart, onTouchEnd: onTouchEnd },
|
26918
|
+
React__default["default"].createElement(_ModalClone, { isOpen: true, isModeless: true, dragOptions: DRAG_OPTIONS, styles: modalStylesThemed, layerProps: { hostId: props.modalLayerHostId }, minDragPosition: props.minDragPosition, maxDragPosition: props.maxDragPosition },
|
26919
|
+
// Only render LocalAndRemotePIP when this component is NOT hidden because VideoGallery needs to have
|
26920
|
+
// possession of the dominant remote participant video stream
|
26921
|
+
!props.hidden && localAndRemotePIP))));
|
26862
26922
|
};
|
26863
26923
|
|
26864
26924
|
// Copyright (c) Microsoft Corporation.
|
@@ -27037,6 +27097,8 @@ const CallArrangement = (props) => {
|
|
27037
27097
|
}
|
27038
27098
|
}, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);
|
27039
27099
|
const isSidePaneOpen = useIsSidePaneOpen();
|
27100
|
+
const locale = useLocale();
|
27101
|
+
const modalStrings = { dismissModalAriaLabel: locale.strings.call.dismissModalAriaLabel };
|
27040
27102
|
const isMobileWithActivePane = props.mobileView && isSidePaneOpen;
|
27041
27103
|
const callCompositeContainerCSS = React.useMemo(() => {
|
27042
27104
|
return {
|
@@ -27181,7 +27243,12 @@ const CallArrangement = (props) => {
|
|
27181
27243
|
? undefined
|
27182
27244
|
: togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
|
27183
27245
|
isDisabled$3((_j = props.callControlProps.options) === null || _j === void 0 ? void 0 : _j.participantsButton), onChatButtonClicked: (_k = props.mobileChatTabHeader) === null || _k === void 0 ? void 0 : _k.onClick, disableChatButton: (_l = props.mobileChatTabHeader) === null || _l === void 0 ? void 0 : _l.disabled }),
|
27184
|
-
props.mobileView && (React__default["default"].createElement(ModalLocalAndRemotePIP, { modalLayerHostId: props.modalLayerHostId, hidden: !isSidePaneOpen, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition
|
27246
|
+
props.mobileView && (React__default["default"].createElement(ModalLocalAndRemotePIP, { modalLayerHostId: props.modalLayerHostId, hidden: !isSidePaneOpen, styles: pipStyles, strings: modalStrings, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition, onDismissSidePane: () => {
|
27247
|
+
closePeoplePane();
|
27248
|
+
if (props.onCloseChatPane) {
|
27249
|
+
props.onCloseChatPane();
|
27250
|
+
}
|
27251
|
+
} })),
|
27185
27252
|
drawerMenuItems.length > 0 && (React__default["default"].createElement(react.Stack, { styles: drawerContainerStyles() },
|
27186
27253
|
React__default["default"].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems }))))))));
|
27187
27254
|
};
|
@@ -27669,7 +27736,7 @@ const CallPage = (props) => {
|
|
27669
27736
|
/* @conditional-compile-remove(gallery-layouts) */
|
27670
27737
|
userSetOverflowGalleryPosition = 'Responsive',
|
27671
27738
|
/* @conditional-compile-remove(gallery-layouts) */
|
27672
|
-
onSetUserSetOverflowGalleryPosition } = props;
|
27739
|
+
onSetUserSetOverflowGalleryPosition, onCloseChatPane } = props;
|
27673
27740
|
// To use useProps to get these states, we need to create another file wrapping Call,
|
27674
27741
|
// It seems unnecessary in this case, so we get the updated states using this approach.
|
27675
27742
|
const { callStatus } = useSelector$1(callStatusSelector);
|
@@ -27698,7 +27765,7 @@ const CallPage = (props) => {
|
|
27698
27765
|
/* @conditional-compile-remove(gallery-layouts) */
|
27699
27766
|
userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
|
27700
27767
|
/* @conditional-compile-remove(gallery-layouts) */
|
27701
|
-
userSetGalleryLayout: galleryLayout }))) : (React__default["default"].createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React__default["default"].createElement(React__default["default"].Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
|
27768
|
+
userSetGalleryLayout: galleryLayout }))) : (React__default["default"].createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React__default["default"].createElement(React__default["default"].Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
|
27702
27769
|
/* @conditional-compile-remove(gallery-layouts) */
|
27703
27770
|
onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition,
|
27704
27771
|
/* @conditional-compile-remove(gallery-layouts) */
|
@@ -27820,7 +27887,7 @@ const ConfigurationPageMicDropdown = (props) => {
|
|
27820
27887
|
* @private
|
27821
27888
|
*/
|
27822
27889
|
const configurationStackTokensDesktop = {
|
27823
|
-
childrenGap: '
|
27890
|
+
childrenGap: '1rem'
|
27824
27891
|
};
|
27825
27892
|
/**
|
27826
27893
|
* @private
|
@@ -27846,7 +27913,7 @@ const configurationContainerStyleMobile = react.mergeStyles(Object.assign(Object
|
|
27846
27913
|
* @private
|
27847
27914
|
*/
|
27848
27915
|
const selectionContainerStyle = react.mergeStyles({
|
27849
|
-
width: '
|
27916
|
+
width: '100%',
|
27850
27917
|
minWidth: '11rem',
|
27851
27918
|
maxWidth: '18.75rem',
|
27852
27919
|
padding: '0.5rem'
|
@@ -27871,9 +27938,11 @@ const titleContainerStyleMobile = react.mergeStyles({
|
|
27871
27938
|
/**
|
27872
27939
|
* @private
|
27873
27940
|
*/
|
27874
|
-
const
|
27941
|
+
const callDetailsContainerStyles = {
|
27875
27942
|
root: {
|
27876
|
-
|
27943
|
+
textAlign: 'center',
|
27944
|
+
maxWidth: _pxToRem(700),
|
27945
|
+
alignSelf: 'center'
|
27877
27946
|
}
|
27878
27947
|
};
|
27879
27948
|
const callDetailsStyle = {
|
@@ -28670,27 +28739,26 @@ const ConfigurationPage = (props) => {
|
|
28670
28739
|
/* @conditional-compile-remove(unsupported-browser) */
|
28671
28740
|
environmentInfo: environmentInfo, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick })),
|
28672
28741
|
React__default["default"].createElement(react.Stack, { verticalFill: true, grow: true, horizontal: true, className: fillWidth },
|
28673
|
-
React__default["default"].createElement(react.Stack, { className: fillWidth,
|
28674
|
-
|
28742
|
+
React__default["default"].createElement(react.Stack, { className: fillWidth, verticalAlign: "center", verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop },
|
28743
|
+
React__default["default"].createElement(react.Stack.Item, { styles: callDetailsContainerStyles },
|
28675
28744
|
title,
|
28676
|
-
callDescription)
|
28677
|
-
|
28678
|
-
|
28679
|
-
|
28680
|
-
|
28681
|
-
|
28682
|
-
|
28683
|
-
|
28684
|
-
|
28685
|
-
|
28686
|
-
|
28687
|
-
|
28688
|
-
|
28689
|
-
|
28690
|
-
|
28691
|
-
|
28692
|
-
|
28693
|
-
React__default["default"].createElement(StartCallButton, { className: mobileWithPreview ? startCallButtonStyleMobile : startCallButtonStyleDesktop, onClick: startCall, disabled: disableStartCallButton })))),
|
28745
|
+
callDescription),
|
28746
|
+
React__default["default"].createElement(react.Stack, { horizontal: !mobileWithPreview, horizontalAlign: mobileWithPreview ? 'stretch' : 'center', verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : undefined },
|
28747
|
+
localPreviewTrampoline(mobileWithPreview,
|
28748
|
+
/* @conditional-compile-remove(rooms) */ !!(role === 'Consumer')),
|
28749
|
+
React__default["default"].createElement(react.Stack, { className: mobileView ? undefined : selectionContainerStyle },
|
28750
|
+
!mobileWithPreview && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
28751
|
+
React__default["default"].createElement(LocalDeviceSettings, Object.assign({}, options, localDeviceSettingsHandlers, { cameraPermissionGranted: cameraPermissionGrantedTrampoline(cameraPermissionGranted,
|
28752
|
+
/* @conditional-compile-remove(call-readiness) */ videoState), microphonePermissionGranted: micPermissionGrantedTrampoline(microphonePermissionGranted,
|
28753
|
+
/* @conditional-compile-remove(call-readiness) */ audioState),
|
28754
|
+
/* @conditional-compile-remove(call-readiness) */
|
28755
|
+
onClickEnableDevicePermission: () => {
|
28756
|
+
setIsPermissionsModalDismissed(true);
|
28757
|
+
},
|
28758
|
+
/* @conditional-compile-remove(video-background-effects) */
|
28759
|
+
onClickVideoEffects: toggleVideoEffectsPane })))),
|
28760
|
+
React__default["default"].createElement(react.Stack, { styles: mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop },
|
28761
|
+
React__default["default"].createElement(StartCallButton, { className: mobileWithPreview ? startCallButtonStyleMobile : startCallButtonStyleDesktop, onClick: startCall, disabled: disableStartCallButton }))))),
|
28694
28762
|
React__default["default"].createElement(react.Panel
|
28695
28763
|
/* @conditional-compile-remove(video-background-effects) */
|
28696
28764
|
, {
|
@@ -29516,7 +29584,7 @@ const MainScreen = (props) => {
|
|
29516
29584
|
capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
29517
29585
|
break;
|
29518
29586
|
case 'call':
|
29519
|
-
pageElement = (React__default["default"].createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError,
|
29587
|
+
pageElement = (React__default["default"].createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestErrors, onDismissError: onDismissError,
|
29520
29588
|
/* @conditional-compile-remove(gallery-layouts) */
|
29521
29589
|
galleryLayout: userSetGalleryLayout,
|
29522
29590
|
/* @conditional-compile-remove(gallery-layouts) */
|
@@ -29569,7 +29637,7 @@ const CallCompositeInner = (props) => {
|
|
29569
29637
|
return (React__default["default"].createElement("div", { className: mainScreenContainerClassName },
|
29570
29638
|
React__default["default"].createElement(BaseProvider, Object.assign({}, props),
|
29571
29639
|
React__default["default"].createElement(CallAdapterProvider, { adapter: adapter },
|
29572
|
-
React__default["default"].createElement(MainScreen, { callInvitationUrl: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: mobileView, modalLayerHostId: modalLayerHostId, options: options, onSidePaneIdChange: props.onSidePaneIdChange, overrideSidePane: props.overrideSidePane, mobileChatTabHeader: props.mobileChatTabHeader }),
|
29640
|
+
React__default["default"].createElement(MainScreen, { callInvitationUrl: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: mobileView, modalLayerHostId: modalLayerHostId, options: options, onSidePaneIdChange: props.onSidePaneIdChange, overrideSidePane: props.overrideSidePane, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane }),
|
29573
29641
|
// This layer host is for ModalLocalAndRemotePIP in SidePane. This LayerHost cannot be inside the SidePane
|
29574
29642
|
// because when the SidePane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging
|
29575
29643
|
// the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.
|
@@ -31688,7 +31756,7 @@ const CallWithChatScreen = (props) => {
|
|
31688
31756
|
React__default["default"].createElement(react.Stack, { verticalFill: true, grow: true, styles: compositeOuterContainerStyles, id: compositeParentDivId },
|
31689
31757
|
React__default["default"].createElement(react.Stack, { horizontal: true, grow: true },
|
31690
31758
|
React__default["default"].createElement(react.Stack.Item, { grow: true, styles: callCompositeContainerStyles(mobileView) },
|
31691
|
-
React__default["default"].createElement(CallCompositeInner, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme, callInvitationUrl: props.joinInvitationURL, overrideSidePane: overrideSidePaneProps, onSidePaneIdChange: onSidePaneIdChange, mobileChatTabHeader: chatTabHeaderProps })))))));
|
31759
|
+
React__default["default"].createElement(CallCompositeInner, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme, callInvitationUrl: props.joinInvitationURL, overrideSidePane: overrideSidePaneProps, onSidePaneIdChange: onSidePaneIdChange, mobileChatTabHeader: chatTabHeaderProps, onCloseChatPane: closeChat })))))));
|
31692
31760
|
};
|
31693
31761
|
/**
|
31694
31762
|
* CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
|