@azure/communication-react 1.9.0-alpha-202310280012 → 1.9.0-alpha-202311010014

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/communication-react.d.ts +72 -0
  2. package/dist/dist-cjs/communication-react/index.js +142 -43
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +35 -0
  7. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +10 -6
  8. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  9. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
  10. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  11. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +1 -0
  12. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +9 -1
  13. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  14. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  15. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
  16. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  17. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  18. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +23 -5
  19. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  20. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +7 -9
  21. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +32 -16
  22. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  23. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +34 -0
  24. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +16 -4
  25. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  26. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.d.ts +11 -0
  27. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +39 -9
  28. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +1 -1
  30. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  31. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +14 -2
  32. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  33. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -0
  34. package/package.json +1 -1
@@ -1537,6 +1537,40 @@ export declare type CallCompositeOptions = {
1537
1537
  */
1538
1538
  layout?: VideoGalleryLayout;
1539
1539
  };
1540
+ /**
1541
+ * Logo displayed on the configuration page.
1542
+ */
1543
+ logo?: {
1544
+ /**
1545
+ * URL for the logo image.
1546
+ *
1547
+ * @remarks
1548
+ * Recommended size is 80x80 pixels.
1549
+ */
1550
+ url: string;
1551
+ /**
1552
+ * Alt text for the logo image.
1553
+ */
1554
+ alt?: string;
1555
+ /**
1556
+ * The logo can be displayed as a circle or a square.
1557
+ *
1558
+ * @defaultValue 'circle'
1559
+ */
1560
+ shape?: 'circle' | 'square';
1561
+ };
1562
+ /**
1563
+ * Background image displayed on the configuration page.
1564
+ */
1565
+ backgroundImage?: {
1566
+ /**
1567
+ * URL for the background image.
1568
+ *
1569
+ * @remarks
1570
+ * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.
1571
+ */
1572
+ url: string;
1573
+ };
1540
1574
  };
1541
1575
 
1542
1576
  /**
@@ -2134,6 +2168,10 @@ export declare interface CallCompositeStrings {
2134
2168
  * All strings for capability changed notification
2135
2169
  */
2136
2170
  capabilityChangedNotification?: CapabilityChangedNotificationStrings;
2171
+ /**
2172
+ * String for the dismiss control on the local and remote PIP on mobile
2173
+ */
2174
+ dismissModalAriaLabel?: string;
2137
2175
  }
2138
2176
 
2139
2177
  /**
@@ -3144,6 +3182,40 @@ export declare type CallWithChatCompositeOptions = {
3144
3182
  */
3145
3183
  layout?: VideoGalleryLayout;
3146
3184
  };
3185
+ /**
3186
+ * Logo displayed on the configuration page.
3187
+ */
3188
+ logo?: {
3189
+ /**
3190
+ * URL for the logo image.
3191
+ *
3192
+ * @remarks
3193
+ * Recommended size is 80x80 pixels.
3194
+ */
3195
+ url: string;
3196
+ /**
3197
+ * Alt text for the logo image.
3198
+ */
3199
+ alt?: string;
3200
+ /**
3201
+ * The logo can be displayed as a circle or a square.
3202
+ *
3203
+ * @defaultValue 'circle'
3204
+ */
3205
+ shape?: 'circle' | 'square';
3206
+ };
3207
+ /**
3208
+ * Background image displayed on the configuration page.
3209
+ */
3210
+ backgroundImage?: {
3211
+ /**
3212
+ * URL for the background image.
3213
+ *
3214
+ * @remarks
3215
+ * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.
3216
+ */
3217
+ url: string;
3218
+ };
3147
3219
  };
3148
3220
 
3149
3221
  /**
@@ -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-202310280012';
180
+ var telemetryVersion = '1.9.0-alpha-202311010014';
181
181
 
182
182
  // Copyright (c) Microsoft Corporation.
183
183
  /**
@@ -21066,7 +21066,7 @@ const CallCompositeIcon = (props) => (React__default["default"].createElement(re
21066
21066
  */
21067
21067
  const CallWithChatCompositeIcon = (props) => (React__default["default"].createElement(react.FontIcon, Object.assign({}, props)));
21068
21068
 
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",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};
21070
21070
 
21071
21071
  // Copyright (c) Microsoft Corporation.
21072
21072
  /**
@@ -26548,7 +26548,7 @@ const VideoEffectsPaneTrampoline = (onDismissError, activeVideoEffectError, sele
26548
26548
  /* @conditional-compile-remove(video-background-effects) */
26549
26549
  const locale = useLocale();
26550
26550
  /* @conditional-compile-remove(video-background-effects) */
26551
- return (React__default["default"].createElement(react.Stack, { className: react.mergeStyles({ paddingLeft: '0.5rem' }) },
26551
+ return (React__default["default"].createElement(react.Stack, { tokens: { childrenGap: '0.75rem' }, className: react.mergeStyles({ paddingLeft: '0.5rem' }) },
26552
26552
  activeVideoEffectError && isCameraOn && (React__default["default"].createElement(react.MessageBar, { messageBarType: react.MessageBarType.error, onDismiss: () => onDismissError(activeVideoEffectError) }, locale.strings.call.unableToStartVideoEffect)),
26553
26553
  showWarning && (React__default["default"].createElement(react.MessageBar, { messageBarType: react.MessageBarType.warning }, locale.strings.call.cameraOffBackgroundEffectWarningText)),
26554
26554
  React__default["default"].createElement(_VideoBackgroundEffectsPicker, { label: locale.strings.call.videoEffectsPaneBackgroundSelectionTitle, styles: backgroundPickerStyles, options: selectableVideoEffects !== null && selectableVideoEffects !== void 0 ? selectableVideoEffects : [], onChange: onEffectChange, selectedEffectKey: selectedEffect })));
@@ -26792,7 +26792,15 @@ const getPipStyles = (theme) => ({
26792
26792
  * @private
26793
26793
  */
26794
26794
  const PIPContainerStyle = {
26795
- root: { position: 'absolute', width: '100%', height: '100%', pointerEvents: 'none' }
26795
+ root: {
26796
+ position: 'absolute',
26797
+ width: '100%',
26798
+ height: '100%',
26799
+ pointerEvents: 'none',
26800
+ ':focus-within': {
26801
+ outline: '1px solid #00000000'
26802
+ }
26803
+ }
26796
26804
  };
26797
26805
  /**
26798
26806
  * @private
@@ -26815,7 +26823,11 @@ const modalStyle = {
26815
26823
  width: '100%',
26816
26824
  height: '100%',
26817
26825
  // pointer events for root Modal div set to none to make descendants interactive
26818
- pointerEvents: 'none'
26826
+ pointerEvents: 'none',
26827
+ ':focus-within': {
26828
+ outline: '3px solid #00000000',
26829
+ outlineOffset: '-3px'
26830
+ }
26819
26831
  }
26820
26832
  };
26821
26833
  /**
@@ -26858,25 +26870,55 @@ const ModalLocalAndRemotePIP = (props) => {
26858
26870
  /* @conditional-compile-remove(rooms) */
26859
26871
  const role = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role;
26860
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]);
26861
26894
  const pictureInPictureHandlers = useHandlers();
26862
26895
  const localAndRemotePIP = React.useMemo(() => {
26863
- var _a;
26896
+ var _a, _b, _c, _d, _e;
26864
26897
  /* @conditional-compile-remove(rooms) */
26865
26898
  if (role === 'Consumer' && ((_a = pictureInPictureProps.dominantRemoteParticipant) === null || _a === void 0 ? void 0 : _a.userId)) {
26866
- return (React__default["default"].createElement(_RemoteVideoTile, Object.assign({}, pictureInPictureProps.dominantRemoteParticipant, { remoteParticipant: pictureInPictureProps.dominantRemoteParticipant })));
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 }))));
26867
26901
  }
26868
- return React__default["default"].createElement(LocalAndRemotePIP, Object.assign({}, pictureInPictureProps, pictureInPictureHandlers));
26869
- }, [pictureInPictureProps, pictureInPictureHandlers, /* @conditional-compile-remove(rooms) */ role]);
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
+ ]);
26870
26911
  /* @conditional-compile-remove(rooms) */
26871
26912
  if (role === 'Consumer' && !pictureInPictureProps.dominantRemoteParticipant) {
26872
26913
  return null;
26873
26914
  }
26874
26915
  const modalStylesThemed = react.concatStyleSets(modalStyle, (_b = props.styles) === null || _b === void 0 ? void 0 : _b.modal);
26875
26916
  return (React__default["default"].createElement(react.Stack, { styles: rootStyles },
26876
- React__default["default"].createElement(_ModalClone, { isOpen: true, isModeless: true, dragOptions: DRAG_OPTIONS, styles: modalStylesThemed, layerProps: { hostId: props.modalLayerHostId }, minDragPosition: props.minDragPosition, maxDragPosition: props.maxDragPosition },
26877
- // Only render LocalAndRemotePIP when this component is NOT hidden because VideoGallery needs to have
26878
- // possession of the dominant remote participant video stream
26879
- !props.hidden && localAndRemotePIP)));
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))));
26880
26922
  };
26881
26923
 
26882
26924
  // Copyright (c) Microsoft Corporation.
@@ -27055,6 +27097,8 @@ const CallArrangement = (props) => {
27055
27097
  }
27056
27098
  }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);
27057
27099
  const isSidePaneOpen = useIsSidePaneOpen();
27100
+ const locale = useLocale();
27101
+ const modalStrings = { dismissModalAriaLabel: locale.strings.call.dismissModalAriaLabel };
27058
27102
  const isMobileWithActivePane = props.mobileView && isSidePaneOpen;
27059
27103
  const callCompositeContainerCSS = React.useMemo(() => {
27060
27104
  return {
@@ -27199,7 +27243,12 @@ const CallArrangement = (props) => {
27199
27243
  ? undefined
27200
27244
  : togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
27201
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 }),
27202
- 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
+ } })),
27203
27252
  drawerMenuItems.length > 0 && (React__default["default"].createElement(react.Stack, { styles: drawerContainerStyles() },
27204
27253
  React__default["default"].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems }))))))));
27205
27254
  };
@@ -27687,7 +27736,7 @@ const CallPage = (props) => {
27687
27736
  /* @conditional-compile-remove(gallery-layouts) */
27688
27737
  userSetOverflowGalleryPosition = 'Responsive',
27689
27738
  /* @conditional-compile-remove(gallery-layouts) */
27690
- onSetUserSetOverflowGalleryPosition } = props;
27739
+ onSetUserSetOverflowGalleryPosition, onCloseChatPane } = props;
27691
27740
  // To use useProps to get these states, we need to create another file wrapping Call,
27692
27741
  // It seems unnecessary in this case, so we get the updated states using this approach.
27693
27742
  const { callStatus } = useSelector$1(callStatusSelector);
@@ -27716,7 +27765,7 @@ const CallPage = (props) => {
27716
27765
  /* @conditional-compile-remove(gallery-layouts) */
27717
27766
  userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
27718
27767
  /* @conditional-compile-remove(gallery-layouts) */
27719
- 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,
27720
27769
  /* @conditional-compile-remove(gallery-layouts) */
27721
27770
  onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition,
27722
27771
  /* @conditional-compile-remove(gallery-layouts) */
@@ -27846,20 +27895,23 @@ const configurationStackTokensDesktop = {
27846
27895
  const configurationStackTokensMobile = {
27847
27896
  childrenGap: '1.5rem'
27848
27897
  };
27849
- const configurationContainerStyle = {
27850
- height: '100%',
27851
- width: '100%',
27852
- padding: '2rem 1rem 2rem 1rem'
27853
- };
27854
- /**
27855
- * @private
27856
- */
27857
- const configurationContainerStyleDesktop = react.mergeStyles(Object.assign(Object.assign({}, configurationContainerStyle), { minWidth: '25rem', minHeight: '22rem' // max height of SelectionContainer + padding * 2 = 21 + 0.5 * 2
27858
- }));
27859
- /**
27860
- * @private
27861
- */
27862
- const configurationContainerStyleMobile = react.mergeStyles(Object.assign(Object.assign({}, configurationContainerStyle), { minWidth: '16rem', minHeight: '13rem' }));
27898
+ /** @private */
27899
+ const configurationContainerStyle = (desktop, backgroundImageUrl) => ({
27900
+ root: {
27901
+ height: '100%',
27902
+ width: '100%',
27903
+ padding: '2rem 1rem 2rem 1rem',
27904
+ minWidth: desktop
27905
+ ? '25rem' // sum of min-width from children + ChildrenGap * (nb of children - 1) + padding * 2 = (11 + 11) + (2 * 1) + 0.5 * 2
27906
+ : '16rem',
27907
+ minHeight: desktop
27908
+ ? '22rem' // max height of SelectionContainer + padding * 2 = 21 + 0.5 * 2
27909
+ : '13rem',
27910
+ '::before': !backgroundImageUrl
27911
+ ? undefined
27912
+ : Object.assign({ content: '""', position: 'absolute', top: 0, left: 0, zIndex: 0, width: '100%', height: '100%', backgroundImage: `url(${backgroundImageUrl})`, backgroundSize: 'cover', backgroundPosition: 'center' }, react.AnimationStyles.fadeIn500)
27913
+ }
27914
+ });
27863
27915
  /**
27864
27916
  * @private
27865
27917
  */
@@ -27980,7 +28032,8 @@ const effectsButtonStyles = (theme) => {
27980
28032
  };
27981
28033
  /** @private */
27982
28034
  const fillWidth = react.mergeStyles({
27983
- width: '100%'
28035
+ width: '100%',
28036
+ position: 'relative'
27984
28037
  });
27985
28038
  /** @private */
27986
28039
  const panelStyles = {
@@ -28003,6 +28056,18 @@ const panelStyles = {
28003
28056
  const panelFocusProps = {
28004
28057
  forceFocusInsideTrap: false
28005
28058
  };
28059
+ /**
28060
+ * @private
28061
+ */
28062
+ const logoStyles = (shape) => ({
28063
+ root: {
28064
+ overflow: 'initial',
28065
+ display: 'flex',
28066
+ justifyContent: 'center',
28067
+ marginBottom: '1rem'
28068
+ },
28069
+ image: { borderRadius: shape === 'circle' ? '100%' : undefined, height: '3rem', width: '3rem' }
28070
+ });
28006
28071
 
28007
28072
  // Copyright (c) Microsoft Corporation.
28008
28073
  const getDropDownList = (list) => {
@@ -28555,7 +28620,7 @@ var __awaiter$9 = (window && window.__awaiter) || function (thisArg, _arguments,
28555
28620
  * @private
28556
28621
  */
28557
28622
  const ConfigurationPage = (props) => {
28558
- var _a, _b, _c;
28623
+ var _a, _b, _c, _d;
28559
28624
  const { startCallHandler, mobileView, modalLayerHostId,
28560
28625
  /* @conditional-compile-remove(call-readiness) */ deviceChecks,
28561
28626
  /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,
@@ -28660,7 +28725,13 @@ const ConfigurationPage = (props) => {
28660
28725
  hostId: modalLayerHostId
28661
28726
  }), [modalLayerHostId]);
28662
28727
  const filteredErrorBarProps = React.useMemo(() => (Object.assign(Object.assign({}, errorBarProps), { activeErrorMessages: filteredLatestErrors })), [errorBarProps, filteredLatestErrors]);
28663
- return (React__default["default"].createElement(react.Stack, { className: mobileView ? configurationContainerStyleMobile : configurationContainerStyleDesktop },
28728
+ const containerStyles = React.useMemo(() => {
28729
+ var _a;
28730
+ return configurationContainerStyle(!mobileView,
28731
+ /* @conditional-compile-remove(custom-branding) */
28732
+ (_a = props.backgroundImage) === null || _a === void 0 ? void 0 : _a.url);
28733
+ }, [mobileView, /* @conditional-compile-remove(custom-branding) */ (_d = props.backgroundImage) === null || _d === void 0 ? void 0 : _d.url]);
28734
+ return (React__default["default"].createElement(react.Stack, { styles: containerStyles },
28664
28735
  React__default["default"].createElement(react.Stack, { styles: bannerNotificationStyles },
28665
28736
  React__default["default"].createElement(ConfigurationPageErrorBar
28666
28737
  /* @conditional-compile-remove(call-readiness) */
@@ -28692,6 +28763,11 @@ const ConfigurationPage = (props) => {
28692
28763
  React__default["default"].createElement(react.Stack, { verticalFill: true, grow: true, horizontal: true, className: fillWidth },
28693
28764
  React__default["default"].createElement(react.Stack, { className: fillWidth, verticalAlign: "center", verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop },
28694
28765
  React__default["default"].createElement(react.Stack.Item, { styles: callDetailsContainerStyles },
28766
+ React__default["default"].createElement(Logo
28767
+ /* @conditional-compile-remove(custom-branding) */
28768
+ , {
28769
+ /* @conditional-compile-remove(custom-branding) */
28770
+ logo: props.logo }),
28695
28771
  title,
28696
28772
  callDescription),
28697
28773
  React__default["default"].createElement(react.Stack, { horizontal: !mobileWithPreview, horizontalAlign: mobileWithPreview ? 'stretch' : 'center', verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : undefined },
@@ -28734,6 +28810,13 @@ const micPermissionGrantedTrampoline = (microphonePermissionGranted, audioState)
28734
28810
  /* @conditional-compile-remove(call-readiness) */
28735
28811
  return audioState && audioState !== 'unsupported' ? audioState === 'granted' : microphonePermissionGranted;
28736
28812
  };
28813
+ const Logo = (props) => {
28814
+ var _a;
28815
+ if (!props.logo) {
28816
+ return React__default["default"].createElement(React__default["default"].Fragment, null);
28817
+ }
28818
+ return React__default["default"].createElement(react.Image, { styles: logoStyles((_a = props.logo.shape) !== null && _a !== void 0 ? _a : 'circle'), src: props.logo.url, alt: props.logo.alt });
28819
+ };
28737
28820
 
28738
28821
  // Copyright (c) Microsoft Corporation.
28739
28822
  // Licensed under the MIT License.
@@ -29417,7 +29500,7 @@ const isShowing = (overrideSidePane) => {
29417
29500
  return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
29418
29501
  };
29419
29502
  const MainScreen = (props) => {
29420
- var _a, _b, _c, _d, _e, _f, _g, _h;
29503
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
29421
29504
  const adapter = useAdapter();
29422
29505
  const { camerasCount, microphonesCount } = useSelector$1(deviceCountSelector);
29423
29506
  const hasCameras = camerasCount > 0;
@@ -29504,7 +29587,11 @@ const MainScreen = (props) => {
29504
29587
  /* @conditional-compile-remove(call-readiness) */
29505
29588
  onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick,
29506
29589
  /* @conditional-compile-remove(capabilities) */
29507
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
29590
+ capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps,
29591
+ /* @conditional-compile-remove(custom-branding) */
29592
+ logo: (_g = props.options) === null || _g === void 0 ? void 0 : _g.logo,
29593
+ /* @conditional-compile-remove(custom-branding) */
29594
+ backgroundImage: (_h = props.options) === null || _h === void 0 ? void 0 : _h.backgroundImage }));
29508
29595
  break;
29509
29596
  case 'accessDeniedTeamsMeeting':
29510
29597
  pageElement = (React__default["default"].createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' }));
@@ -29516,7 +29603,7 @@ const MainScreen = (props) => {
29516
29603
  pageElement = (React__default["default"].createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page' }));
29517
29604
  break;
29518
29605
  case 'leaving':
29519
- pageElement = (React__default["default"].createElement(NoticePage, { title: (_g = locale.strings.call.leavingCallTitle) !== null && _g !== void 0 ? _g : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
29606
+ pageElement = (React__default["default"].createElement(NoticePage, { title: (_j = locale.strings.call.leavingCallTitle) !== null && _j !== void 0 ? _j : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
29520
29607
  break;
29521
29608
  case 'leftCall': {
29522
29609
  const { title, moreDetails, disableStartCallButton } = getEndedCallStrings(locale, endedCall);
@@ -29535,7 +29622,7 @@ const MainScreen = (props) => {
29535
29622
  capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
29536
29623
  break;
29537
29624
  case 'call':
29538
- 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,
29625
+ 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,
29539
29626
  /* @conditional-compile-remove(gallery-layouts) */
29540
29627
  galleryLayout: userSetGalleryLayout,
29541
29628
  /* @conditional-compile-remove(gallery-layouts) */
@@ -29559,7 +29646,7 @@ const MainScreen = (props) => {
29559
29646
  case 'unsupportedEnvironment':
29560
29647
  pageElement = (React__default["default"].createElement(React__default["default"].Fragment, null,
29561
29648
  /* @conditional-compile-remove(unsupported-browser) */
29562
- React__default["default"].createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_h = props.options) === null || _h === void 0 ? void 0 : _h.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
29649
+ React__default["default"].createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_k = props.options) === null || _k === void 0 ? void 0 : _k.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
29563
29650
  break;
29564
29651
  }
29565
29652
  if (!pageElement) {
@@ -29588,7 +29675,7 @@ const CallCompositeInner = (props) => {
29588
29675
  return (React__default["default"].createElement("div", { className: mainScreenContainerClassName },
29589
29676
  React__default["default"].createElement(BaseProvider, Object.assign({}, props),
29590
29677
  React__default["default"].createElement(CallAdapterProvider, { adapter: adapter },
29591
- 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 }),
29678
+ 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 }),
29592
29679
  // This layer host is for ModalLocalAndRemotePIP in SidePane. This LayerHost cannot be inside the SidePane
29593
29680
  // because when the SidePane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging
29594
29681
  // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.
@@ -31648,7 +31735,11 @@ const CallWithChatScreen = (props) => {
31648
31735
  /* @conditional-compile-remove(gallery-layouts) */
31649
31736
  galleryOptions: props.galleryOptions,
31650
31737
  /* @conditional-compile-remove(click-to-call) */
31651
- localVideoTile: props.localVideoTile
31738
+ localVideoTile: props.localVideoTile,
31739
+ /* @conditional-compile-remove(custom-branding) */
31740
+ logo: props.logo,
31741
+ /* @conditional-compile-remove(custom-branding) */
31742
+ backgroundImage: props.backgroundImage
31652
31743
  }), [
31653
31744
  props.callControls,
31654
31745
  callControlOptionsFromProps,
@@ -31668,7 +31759,11 @@ const CallWithChatScreen = (props) => {
31668
31759
  /* @conditional-compile-remove(click-to-call) */
31669
31760
  props.localVideoTile,
31670
31761
  /* @conditional-compile-remove(pinned-participants) */
31671
- props.remoteVideoTileMenuOptions
31762
+ props.remoteVideoTileMenuOptions,
31763
+ /* @conditional-compile-remove(custom-branding) */
31764
+ props.logo,
31765
+ /* @conditional-compile-remove(custom-branding) */
31766
+ props.backgroundImage
31672
31767
  ]);
31673
31768
  const onRenderChatContent = React.useCallback(() => (React__default["default"].createElement(ChatComposite, Object.assign({}, chatProps, { fluentTheme: theme, options: {
31674
31769
  topic: false,
@@ -31707,7 +31802,7 @@ const CallWithChatScreen = (props) => {
31707
31802
  React__default["default"].createElement(react.Stack, { verticalFill: true, grow: true, styles: compositeOuterContainerStyles, id: compositeParentDivId },
31708
31803
  React__default["default"].createElement(react.Stack, { horizontal: true, grow: true },
31709
31804
  React__default["default"].createElement(react.Stack.Item, { grow: true, styles: callCompositeContainerStyles(mobileView) },
31710
- 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 })))))));
31805
+ 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 })))))));
31711
31806
  };
31712
31807
  /**
31713
31808
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
@@ -31727,7 +31822,11 @@ const CallWithChatComposite = (props) => {
31727
31822
  /* @conditional-compile-remove(click-to-call) */
31728
31823
  localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile,
31729
31824
  /* @conditional-compile-remove(gallery-layouts) */
31730
- galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions }))));
31825
+ galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions,
31826
+ /* @conditional-compile-remove(custom-branding) */
31827
+ logo: options === null || options === void 0 ? void 0 : options.logo,
31828
+ /* @conditional-compile-remove(custom-branding) */
31829
+ backgroundImage: options === null || options === void 0 ? void 0 : options.backgroundImage }))));
31731
31830
  };
31732
31831
  const hasJoinedCallFn = (page, callStatus) => {
31733
31832
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */