@azure/communication-react 1.3.3-alpha-202209140018.0 → 1.3.3-alpha-202209160028.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/communication-react.d.ts +118 -4
  2. package/dist/dist-cjs/communication-react/index.js +377 -86
  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/calling-component-bindings/src/handlers/createHandlers.d.ts +8 -4
  7. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +26 -5
  8. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -0
  10. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  11. package/dist/dist-esm/communication-react/src/index.d.ts +5 -0
  12. package/dist/dist-esm/communication-react/src/index.js +4 -0
  13. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  14. package/dist/dist-esm/react-components/src/components/DomainPermissions.d.ts +45 -0
  15. package/dist/dist-esm/react-components/src/components/DomainPermissions.js +42 -0
  16. package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -0
  17. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -6
  18. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  19. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  20. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  21. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  22. package/dist/dist-esm/react-components/src/components/index.d.ts +4 -0
  23. package/dist/dist-esm/react-components/src/components/index.js +4 -0
  24. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  25. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +30 -0
  26. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +74 -0
  27. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  28. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  29. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  30. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  31. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +6 -0
  32. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +10 -0
  34. package/dist/dist-esm/react-components/src/theming/icons.d.ts +2 -0
  35. package/dist/dist-esm/react-components/src/theming/icons.js +40 -1
  36. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +12 -2
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  39. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +16 -0
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +3 -3
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +6 -1
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +4 -3
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +3 -1
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +16 -34
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +2 -7
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +3 -4
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -1
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  53. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  54. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +3 -2
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +26 -4
  57. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  58. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  59. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -2
  60. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +8 -1
  61. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  62. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -2
  63. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  64. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +3 -2
  65. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +13 -4
  66. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  67. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +2 -2
  68. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +2 -2
  70. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +2 -2
  72. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -2
  74. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +6 -11
  75. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  76. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +4 -0
  77. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -1
  78. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  79. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +4 -0
  80. package/package.json +8 -8
@@ -192,7 +192,7 @@ const fromFlatCommunicationIdentifier = (id) => {
192
192
  // Copyright (c) Microsoft Corporation.
193
193
  // Licensed under the MIT license.
194
194
  // GENERATED FILE. DO NOT EDIT MANUALLY.
195
- var telemetryVersion = '1.3.3-alpha-202209140018.0';
195
+ var telemetryVersion = '1.3.3-alpha-202209160028.0';
196
196
 
197
197
  // Copyright (c) Microsoft Corporation.
198
198
  /**
@@ -752,11 +752,14 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
752
752
  });
753
753
  /* @conditional-compile-remove(PSTN-calls) */
754
754
  const onAddParticipant = (participant, options) => __awaiter$v(void 0, void 0, void 0, function* () {
755
- if (communicationCommon.isPhoneNumberIdentifier(participant)) {
756
- yield (call === null || call === void 0 ? void 0 : call.addParticipant(participant, options));
757
- }
758
- else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
759
- yield (call === null || call === void 0 ? void 0 : call.addParticipant(participant));
755
+ const participantType = participantTypeHelper(participant);
756
+ switch (participantType) {
757
+ case 'PSTN':
758
+ yield (call === null || call === void 0 ? void 0 : call.addParticipant(participant, options));
759
+ break;
760
+ case 'ACS':
761
+ yield (call === null || call === void 0 ? void 0 : call.addParticipant(participant));
762
+ break;
760
763
  }
761
764
  });
762
765
  /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
@@ -802,6 +805,24 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
802
805
  const createDefaultCallingHandlersForComponent = (callClient, callAgent, deviceManager, call, _Component) => {
803
806
  return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);
804
807
  };
808
+ /* @conditional-compile-remove(PSTN-calls) */
809
+ /**
810
+ * Helper function for determining participant type.
811
+ */
812
+ const participantTypeHelper = (p) => {
813
+ if (communicationCommon.isPhoneNumberIdentifier(p)) {
814
+ return 'PSTN';
815
+ }
816
+ else if (communicationCommon.isCommunicationUserIdentifier(p)) {
817
+ return 'ACS';
818
+ }
819
+ else if (communicationCommon.isMicrosoftTeamsUserIdentifier(p)) {
820
+ return 'Teams';
821
+ }
822
+ else {
823
+ return 'unknown';
824
+ }
825
+ };
805
826
 
806
827
  // Copyright (c) Microsoft Corporation.
807
828
  /**
@@ -957,7 +978,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
957
978
  wordBreak: 'break-word'
958
979
  });
959
980
 
960
- var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$d={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$d={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$d={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$d={label:"Leave",tooltipContent:"Leave Call"};var cameraButton$d={onLabel:"Turn off",offLabel:"Turn on",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose Camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$d={onLabel:"Mute",offLabel:"Unmute",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose Microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose Speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$d={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose Camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose Audio Device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose Microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose Speaker"};var participantsButton$d={label:"People",tooltipContent:"Show Participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$d={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$d={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$d={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link."};var videoGallery$d={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed Participant"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var en_US$1 = {participantItem:participantItem$d,typingIndicator:typingIndicator$d,sendBox:sendBox$d,messageStatusIndicator:messageStatusIndicator$d,endCallButton:endCallButton$d,cameraButton:cameraButton$d,microphoneButton:microphoneButton$d,devicesButton:devicesButton$d,participantsButton:participantsButton$d,screenShareButton:screenShareButton$d,messageThread:messageThread$d,errorBar:errorBar$d,videoGallery:videoGallery$d,dialpad:dialpad$d,holdButton:holdButton,videoTile:videoTile};
981
+ var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$d={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$d={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$d={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$d={label:"Leave",tooltipContent:"Leave Call"};var cameraButton$d={onLabel:"Turn off",offLabel:"Turn on",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose Camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$d={onLabel:"Mute",offLabel:"Unmute",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose Microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose Speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$d={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose Camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose Audio Device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose Microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose Speaker"};var participantsButton$d={label:"People",tooltipContent:"Show Participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$d={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$d={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$d={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link."};var videoGallery$d={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed Participant"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var DomainPermissions$1={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"More help"};var UnsupportedBrowser$1={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLink:"More help"};var en_US$1 = {participantItem:participantItem$d,typingIndicator:typingIndicator$d,sendBox:sendBox$d,messageStatusIndicator:messageStatusIndicator$d,endCallButton:endCallButton$d,cameraButton:cameraButton$d,microphoneButton:microphoneButton$d,devicesButton:devicesButton$d,participantsButton:participantsButton$d,screenShareButton:screenShareButton$d,messageThread:messageThread$d,errorBar:errorBar$d,videoGallery:videoGallery$d,dialpad:dialpad$d,holdButton:holdButton,videoTile:videoTile,DomainPermissions:DomainPermissions$1,UnsupportedBrowser:UnsupportedBrowser$1};
961
982
 
962
983
  var participantItem$c={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed Participant"};var typingIndicator$c={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$c={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait."};var messageStatusIndicator$c={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$c={label:"Leave",tooltipContent:"Leave Call"};var cameraButton$c={onLabel:"Turn off",offLabel:"Turn on",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose Camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$c={onLabel:"Mute",offLabel:"Unmute",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose Microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose Speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$c={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose Camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose Audio Device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose Microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose Speaker"};var participantsButton$c={label:"People",tooltipContent:"Show Participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$c={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$c={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options"};var errorBar$c={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneMutedBySystem:"You are muted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link."};var videoGallery$c={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed Participant"};var dialpad$c={placeholderText:"Enter a number"};var HoldButton$d={onLabel:"Resume",offLabel:"Hold",toolTipOnContent:"Resume call",toolTipOffContent:"Hold call"};var en_GB$1 = {participantItem:participantItem$c,typingIndicator:typingIndicator$c,sendBox:sendBox$c,messageStatusIndicator:messageStatusIndicator$c,endCallButton:endCallButton$c,cameraButton:cameraButton$c,microphoneButton:microphoneButton$c,devicesButton:devicesButton$c,participantsButton:participantsButton$c,screenShareButton:screenShareButton$c,messageThread:messageThread$c,errorBar:errorBar$c,videoGallery:videoGallery$c,dialpad:dialpad$c,HoldButton:HoldButton$d};
963
984
 
@@ -1883,6 +1904,21 @@ const MoreHorizontal18Regular = () => (
1883
1904
  // MoreHorizontal icons are 16px x 16px or 20px x 20px so scaling to get desired size
1884
1905
  React__default['default'].createElement("div", { className: react.mergeStyles({ transform: 'scale(0.9)' }) },
1885
1906
  React__default['default'].createElement(reactIcons.MoreHorizontal20Regular, null)));
1907
+ /* @conditional-compile-remove(unsupported-browser) */
1908
+ const UnsupportedBrowserWarning = () => {
1909
+ const theme = useTheme();
1910
+ return (React__default['default'].createElement(react.Stack, { horizontalAlign: 'center', styles: {
1911
+ root: {
1912
+ width: _pxToRem(84),
1913
+ borderRadius: '100%',
1914
+ background: theme.palette.themeLighterAlt,
1915
+ padding: '2rem',
1916
+ margin: 'auto'
1917
+ }
1918
+ } },
1919
+ React__default['default'].createElement("div", { className: react.mergeStyles(scaledIconStyles(theme)) },
1920
+ React__default['default'].createElement(reactIcons.Warning20Filled, null))));
1921
+ };
1886
1922
  /**
1887
1923
  * The default set of icons that are available to use in the UI components.
1888
1924
  *
@@ -1949,7 +1985,22 @@ const DEFAULT_COMPONENT_ICONS = {
1949
1985
  SendBoxSendHovered: React__default['default'].createElement(reactIcons.Send20Filled, null),
1950
1986
  VideoTileMicOff: React__default['default'].createElement(reactIcons.MicOff16Filled, null),
1951
1987
  /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
1952
- BackSpace: React__default['default'].createElement(reactIcons.Backspace20Regular, null)
1988
+ BackSpace: React__default['default'].createElement(reactIcons.Backspace20Regular, null),
1989
+ /* @conditional-compile-remove(call-readiness) */
1990
+ iconBackdrop: React__default['default'].createElement(reactIcons.Circle24Filled, null),
1991
+ /* @conditional-compile-remove(unsupported-browser) */
1992
+ UnsupportedBrowserWarning: React__default['default'].createElement(UnsupportedBrowserWarning, null)
1993
+ };
1994
+ /* @conditional-compile-remove(unsupported-browser) */
1995
+ const scaledIconStyles = (theme) => {
1996
+ return {
1997
+ transform: 'scale(2)',
1998
+ display: 'flex',
1999
+ justifyContent: 'center',
2000
+ alignItems: 'center',
2001
+ color: theme.palette.themePrimary,
2002
+ zIndex: 1
2003
+ };
1953
2004
  };
1954
2005
 
1955
2006
  // Copyright (c) Microsoft Corporation.
@@ -4374,7 +4425,7 @@ const iconContainerStyle$1 = {
4374
4425
  /**
4375
4426
  * @private
4376
4427
  */
4377
- const iconStyles$3 = react.mergeStyles({
4428
+ const iconStyles$4 = react.mergeStyles({
4378
4429
  display: 'flex',
4379
4430
  lineHeight: 0,
4380
4431
  alignItems: 'center'
@@ -4420,7 +4471,7 @@ const ParticipantItem = (props) => {
4420
4471
  const contextualMenuStyle = React.useMemo(() => react.mergeStyles({ background: theme.palette.neutralLighterAlt }, styles === null || styles === void 0 ? void 0 : styles.menu), [theme.palette.neutralLighterAlt, styles === null || styles === void 0 ? void 0 : styles.menu]);
4421
4472
  const infoContainerStyle = React.useMemo(() => react.mergeStyles(iconContainerStyle$1, { color: theme.palette.neutralTertiary }, styles === null || styles === void 0 ? void 0 : styles.iconContainer), [theme.palette.neutralTertiary, styles === null || styles === void 0 ? void 0 : styles.iconContainer]);
4422
4473
  const menuButton = React.useMemo(() => (React__default['default'].createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: react.mergeStyles(menuButtonContainerStyle), title: strings.menuTitle, "data-ui-id": ids.participantItemMenuButton },
4423
- React__default['default'].createElement(react.Icon, { iconName: itemHovered ? 'ParticipantItemOptionsHovered' : 'ParticipantItemOptions', className: iconStyles$3 }))), [itemHovered, strings.menuTitle, ids.participantItemMenuButton]);
4474
+ React__default['default'].createElement(react.Icon, { iconName: itemHovered ? 'ParticipantItemOptionsHovered' : 'ParticipantItemOptions', className: iconStyles$4 }))), [itemHovered, strings.menuTitle, ids.participantItemMenuButton]);
4424
4475
  const onDismissMenu = () => {
4425
4476
  setItemHovered(false);
4426
4477
  setMenuHidden(true);
@@ -4537,7 +4588,7 @@ const participantListItemStyle = {
4537
4588
  /**
4538
4589
  * @private
4539
4590
  */
4540
- const iconStyles$2 = react.mergeStyles({
4591
+ const iconStyles$3 = react.mergeStyles({
4541
4592
  display: 'flex',
4542
4593
  lineHeight: 0,
4543
4594
  alignItems: 'center'
@@ -4558,8 +4609,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
4558
4609
  const menuItems = createParticipantMenuItems && createParticipantMenuItems(participant);
4559
4610
  const onRenderIcon = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isScreenSharing) || (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isMuted)
4560
4611
  ? () => (React__default['default'].createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.5rem' } },
4561
- callingParticipant.isScreenSharing && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
4562
- callingParticipant.isMuted && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel }))))
4612
+ callingParticipant.isScreenSharing && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$3, ariaLabel: strings.sharingIconLabel })),
4613
+ callingParticipant.isMuted && (React__default['default'].createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$3, ariaLabel: strings.mutedIconLabel }))))
4563
4614
  : () => null;
4564
4615
  const displayName = !participant.displayName ? strings.displayNamePlaceholder : participant.displayName;
4565
4616
  return (React__default['default'].createElement(ParticipantItem, { styles: styles, key: participant.userId, userId: participant.userId, displayName: displayName, me: myUserId ? participant.userId === myUserId : false, menuItems: menuItems, presence: presence, onRenderIcon: onRenderIcon, onRenderAvatar: onRenderAvatar, onClick: () => onParticipantClick === null || onParticipantClick === void 0 ? void 0 : onParticipantClick(participant), showParticipantOverflowTooltip: showParticipantOverflowTooltip,
@@ -4597,12 +4648,10 @@ const ParticipantList = (props) => {
4597
4648
  const createParticipantMenuItems = React.useCallback((participant) => {
4598
4649
  var _a, _b;
4599
4650
  let menuItems = [];
4600
- let disabled = !participant.isRemovable;
4601
- /* @conditional-compile-remove(rooms) */
4602
- const isRemovable = _usePermissions().removeParticipantButton;
4651
+ let participantIsRemovable = participant.isRemovable;
4603
4652
  /* @conditional-compile-remove(rooms) */
4604
- disabled = !isRemovable || disabled;
4605
- if (participant.userId !== myUserId && onRemoveParticipant) {
4653
+ participantIsRemovable = _usePermissions().removeParticipantButton && participantIsRemovable;
4654
+ if (participant.userId !== myUserId && onRemoveParticipant && participantIsRemovable) {
4606
4655
  menuItems.push({
4607
4656
  key: 'remove',
4608
4657
  text: strings.removeButtonLabel,
@@ -4610,7 +4659,6 @@ const ParticipantList = (props) => {
4610
4659
  itemProps: {
4611
4660
  styles: (_b = (_a = props.styles) === null || _a === void 0 ? void 0 : _a.participantItemStyles) === null || _b === void 0 ? void 0 : _b.participantSubMenuItemsStyles
4612
4661
  },
4613
- disabled: disabled,
4614
4662
  'data-ui-id': ids.participantListRemoveParticipantButton
4615
4663
  });
4616
4664
  }
@@ -6973,6 +7021,109 @@ const MicrophoneButton = (props) => {
6973
7021
  : undefined), menuIconProps: ((_l = props.menuIconProps) !== null && _l !== void 0 ? _l : !props.enableDeviceSelectionMenu) ? { hidden: true } : undefined, split: (_m = props.split) !== null && _m !== void 0 ? _m : props.enableDeviceSelectionMenu, "aria-roledescription": props.enableDeviceSelectionMenu ? strings.microphoneButtonSplitRoleDescription : undefined, splitButtonAriaLabel: props.enableDeviceSelectionMenu ? splitButtonAriaString : undefined, disabled: disabled, primaryDisabled: primaryDisabled }))));
6974
7022
  };
6975
7023
 
7024
+ // Copyright (c) Microsoft Corporation.
7025
+ /**
7026
+ * @internal
7027
+ */
7028
+ const iconContainerStyles = {
7029
+ root: {
7030
+ margin: 'auto',
7031
+ position: 'relative'
7032
+ }
7033
+ };
7034
+ /**
7035
+ * @internal
7036
+ */
7037
+ const textContainerStyles = {
7038
+ root: {
7039
+ margin: 'auto',
7040
+ textAlign: 'center'
7041
+ }
7042
+ };
7043
+ /**
7044
+ * @internal
7045
+ */
7046
+ const iconPrimaryStyles = {
7047
+ root: {
7048
+ position: 'absolute',
7049
+ color: '#2B88D8',
7050
+ transform: 'scale(2)',
7051
+ zIndex: 1,
7052
+ margin: 'auto'
7053
+ }
7054
+ };
7055
+ /**
7056
+ * @internal
7057
+ */
7058
+ const iconBackDropStyles = {
7059
+ root: {
7060
+ color: '#EFF6FC',
7061
+ transform: 'scale(4)'
7062
+ }
7063
+ };
7064
+ /**
7065
+ * @internal
7066
+ */
7067
+ const primaryTextStyles = {
7068
+ root: {
7069
+ fontWeight: 600,
7070
+ fontSize: _pxToRem(20),
7071
+ lineHeight: _pxToRem(28),
7072
+ paddingBottom: '1rem'
7073
+ }
7074
+ };
7075
+ /**
7076
+ * @internal
7077
+ */
7078
+ const secondaryTextStyles$2 = {
7079
+ root: {
7080
+ margin: 'auto',
7081
+ fontWeight: 400,
7082
+ paddingBottom: '0.5rem'
7083
+ }
7084
+ };
7085
+ /**
7086
+ * @internal
7087
+ */
7088
+ const linkTextStyles$1 = {
7089
+ root: {
7090
+ margin: 'auto',
7091
+ fontWeight: 600,
7092
+ textAlign: 'inherit'
7093
+ }
7094
+ };
7095
+
7096
+ // Copyright (c) Microsoft Corporation.
7097
+ /* @conditional-compile-remove(call-readiness) */
7098
+ const DomainPermissionsContainer = (props) => {
7099
+ const { appName, onTroubleshootingClick, strings } = props;
7100
+ return (React__default['default'].createElement(react.Stack, { style: { padding: '2rem', maxWidth: '25.375rem' } },
7101
+ React__default['default'].createElement(react.Stack, { horizontal: true, style: { padding: '2rem 0' }, horizontalAlign: 'space-between' },
7102
+ React__default['default'].createElement(react.Stack, { styles: iconContainerStyles, horizontalAlign: 'center' },
7103
+ React__default['default'].createElement(react.Icon, { styles: iconPrimaryStyles, iconName: 'ControlButtonCameraOn' }),
7104
+ React__default['default'].createElement(react.Icon, { styles: iconBackDropStyles, iconName: 'iconBackdrop' })),
7105
+ React__default['default'].createElement(react.Icon, { styles: iconPrimaryStyles, iconName: 'Sparkle' }),
7106
+ React__default['default'].createElement(react.Stack, { styles: iconContainerStyles, horizontalAlign: 'center' },
7107
+ React__default['default'].createElement(react.Icon, { styles: iconPrimaryStyles, iconName: 'ControlButtonMicOn' }),
7108
+ React__default['default'].createElement(react.Icon, { styles: iconBackDropStyles, iconName: 'iconBackdrop' }))),
7109
+ React__default['default'].createElement(react.Stack, { styles: textContainerStyles },
7110
+ React__default['default'].createElement(react.Text, { styles: primaryTextStyles }, _formatString(strings.primaryText, { appName: appName })),
7111
+ React__default['default'].createElement(react.Text, { styles: secondaryTextStyles$2 }, strings.secondaryText),
7112
+ React__default['default'].createElement(react.Link, { styles: linkTextStyles$1, onClick: onTroubleshootingClick }, strings.linkText))));
7113
+ };
7114
+ /**
7115
+ * @beta
7116
+ *
7117
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
7118
+ * by their browsers settings.
7119
+ */
7120
+ const DomainPermissions = (props) => {
7121
+ /* @conditional-compile-remove(call-readiness) */
7122
+ const locale = useLocale$1().strings.DomainPermissions;
7123
+ /* @conditional-compile-remove(call-readiness) */
7124
+ return React__default['default'].createElement(DomainPermissionsContainer, Object.assign({}, props, { strings: locale }));
7125
+ };
7126
+
6976
7127
  // Copyright (c) Microsoft Corporation.
6977
7128
  /**
6978
7129
  * A button to show a menu with calling or chat participants.
@@ -7245,13 +7396,13 @@ const DrawerMenuItem = (props) => {
7245
7396
  React__default['default'].createElement(MenuItemIcon, Object.assign({}, props.iconProps)))),
7246
7397
  React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, grow: true },
7247
7398
  React__default['default'].createElement(react.Text, { styles: props.disabled ? { root: { color: theme.palette.neutralTertiaryAlt } } : undefined }, props.text)),
7248
- props.secondaryText && (React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, className: react.mergeStyles(secondaryTextStyles) },
7399
+ props.secondaryText && (React__default['default'].createElement(react.Stack.Item, { styles: drawerMenuItemTextStyles, className: react.mergeStyles(secondaryTextStyles$1) },
7249
7400
  React__default['default'].createElement(react.Text, { styles: {
7250
7401
  root: { color: props.disabled ? theme.palette.neutralTertiaryAlt : theme.palette.neutralSecondary }
7251
7402
  } }, props.secondaryText))),
7252
7403
  secondaryIcon && React__default['default'].createElement(react.Stack.Item, null, secondaryIcon)));
7253
7404
  };
7254
- const MenuItemIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({ className: react.mergeStyles(iconStyles$1) }, props)));
7405
+ const MenuItemIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({ className: react.mergeStyles(iconStyles$2) }, props)));
7255
7406
  const menuItemChildrenGap = { childrenGap: '0.5rem' };
7256
7407
  const drawerMenuItemRootStyles = (hoverBackground, fontSize) => (Object.assign(Object.assign({}, fontSize), { height: '3rem', lineHeight: '3rem', padding: '0rem 0.75rem', cursor: 'pointer', ':hover, :focus': {
7257
7408
  background: hoverBackground
@@ -7271,7 +7422,7 @@ const drawerMenuItemTextStyles = {
7271
7422
  whiteSpace: 'nowrap'
7272
7423
  }
7273
7424
  };
7274
- const iconStyles$1 = {
7425
+ const iconStyles$2 = {
7275
7426
  // Vertically center icons in the menu item. Using line-height does not work for centering fluent SVG icons.
7276
7427
  display: 'flex',
7277
7428
  alignItems: 'center',
@@ -7283,7 +7434,7 @@ const iconStyles$1 = {
7283
7434
  height: '100%'
7284
7435
  }
7285
7436
  };
7286
- const secondaryTextStyles = {
7437
+ const secondaryTextStyles$1 = {
7287
7438
  // limit width for secondaryText in the menu item so it does not overlap with text on left.
7288
7439
  maxWidth: '50%'
7289
7440
  };
@@ -7299,10 +7450,10 @@ const DrawerContentContainer = (props) => {
7299
7450
  const theme = react.useTheme();
7300
7451
  const backgroundColor = theme.palette.white;
7301
7452
  const borderRadius = theme.effects.roundedCorner4;
7302
- const rootStyles = react.mergeStyles(containerStyles$2(backgroundColor, borderRadius), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root);
7453
+ const rootStyles = react.mergeStyles(containerStyles$3(backgroundColor, borderRadius), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root);
7303
7454
  return React__default['default'].createElement(react.Stack, { className: rootStyles }, props.children);
7304
7455
  };
7305
- const containerStyles$2 = (backgroundColor, borderRadius) => (Object.assign({ background: backgroundColor, borderTopRightRadius: borderRadius, borderTopLeftRadius: borderRadius }, react.AnimationStyles.slideUpIn10));
7456
+ const containerStyles$3 = (backgroundColor, borderRadius) => (Object.assign({ background: backgroundColor, borderTopRightRadius: borderRadius, borderTopLeftRadius: borderRadius }, react.AnimationStyles.slideUpIn10));
7306
7457
 
7307
7458
  // Copyright (c) Microsoft Corporation.
7308
7459
  /**
@@ -7636,7 +7787,7 @@ function determineStates(previous, current) {
7636
7787
  /**
7637
7788
  * @private
7638
7789
  */
7639
- const containerStyles$1 = (theme) => {
7790
+ const containerStyles$2 = (theme) => {
7640
7791
  return {
7641
7792
  maxWidth: '16rem',
7642
7793
  padding: '1.25rem',
@@ -7928,7 +8079,7 @@ const DialpadContainer = (props) => {
7928
8079
  const modifiedInput = plainTextValue.substring(0, plainTextValue.length - 1);
7929
8080
  setText(modifiedInput);
7930
8081
  };
7931
- return (React__default['default'].createElement("div", { className: react.mergeStyles(containerStyles$1(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), "data-test-id": "dialpadContainer", "data-ui-id": "dialpadContainer" },
8082
+ return (React__default['default'].createElement("div", { className: react.mergeStyles(containerStyles$2(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), "data-test-id": "dialpadContainer", "data-ui-id": "dialpadContainer" },
7932
8083
  React__default['default'].createElement(react.TextField, { styles: react.concatStyleSets(textFieldStyles(theme), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.textField), value: textFieldValue ? textFieldValue : formatPhoneNumber(plainTextValue),
7933
8084
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7934
8085
  onChange: (e) => {
@@ -8001,6 +8152,81 @@ const HoldButton = (props) => {
8001
8152
  return (React__default['default'].createElement(ControlBarButton, Object.assign({}, props, { strings: strings, onClick: onToggleHold !== null && onToggleHold !== void 0 ? onToggleHold : props.onClick, onRenderOnIcon: onRenderResumeIcon, onRenderOffIcon: onRenderHoldIcon })));
8002
8153
  };
8003
8154
 
8155
+ // Copyright (c) Microsoft Corporation.
8156
+ /**
8157
+ * @internal
8158
+ */
8159
+ const mainTextStyles = {
8160
+ root: {
8161
+ fontWeight: 600,
8162
+ fontSize: _pxToRem(20),
8163
+ lineHeight: _pxToRem(28),
8164
+ paddingBottom: '1rem',
8165
+ margin: 'auto'
8166
+ }
8167
+ };
8168
+ /**
8169
+ * @internal
8170
+ */
8171
+ const secondaryTextStyles = {
8172
+ root: {
8173
+ margin: 'auto',
8174
+ fontWeight: 400,
8175
+ paddingBottom: '0.5rem'
8176
+ }
8177
+ };
8178
+ /**
8179
+ * @internal
8180
+ */
8181
+ const linkTextStyles = {
8182
+ root: {
8183
+ margin: 'auto',
8184
+ fontWeight: 600,
8185
+ textAlign: 'inherit'
8186
+ }
8187
+ };
8188
+ /**
8189
+ * @internal
8190
+ */
8191
+ const containerStyles$1 = {
8192
+ root: {
8193
+ padding: '2rem',
8194
+ maxWidth: '25.374rem'
8195
+ }
8196
+ };
8197
+ /**
8198
+ * @interal
8199
+ */
8200
+ const iconStyles$1 = {
8201
+ root: {
8202
+ paddingBottom: '1rem'
8203
+ }
8204
+ };
8205
+
8206
+ // Copyright (c) Microsoft Corporation.
8207
+ /* @conditional-compile-remove(unsupported-browser) */
8208
+ const UnsupportedBrowserContainer = (props) => {
8209
+ const { onTroubleShootingClick, strings } = props;
8210
+ return (React__default['default'].createElement(react.Stack, { styles: containerStyles$1 },
8211
+ React__default['default'].createElement(react.Icon, { styles: iconStyles$1, iconName: "UnsupportedBrowserWarning" }),
8212
+ React__default['default'].createElement(react.Text, { styles: mainTextStyles }, strings.primaryText),
8213
+ React__default['default'].createElement(react.Text, { styles: secondaryTextStyles }, strings.secondaryText),
8214
+ React__default['default'].createElement(react.Link, { styles: linkTextStyles, onClick: () => {
8215
+ onTroubleShootingClick();
8216
+ } }, strings.moreHelpLink)));
8217
+ };
8218
+ /**
8219
+ * UI to display to the user that the browser they are using is not supported by calling application.
8220
+ *
8221
+ * @beta
8222
+ */
8223
+ const UnsupportedBrowser = (props) => {
8224
+ /* @conditional-compile-remove(unsupported-browser) */
8225
+ const strings = useLocale$1().strings.UnsupportedBrowser;
8226
+ /* @conditional-compile-remove(unsupported-browser) */
8227
+ return React__default['default'].createElement(UnsupportedBrowserContainer, Object.assign({}, props, { strings: strings }));
8228
+ };
8229
+
8004
8230
  // Copyright (c) Microsoft Corporation.
8005
8231
  // Licensed under the MIT license.
8006
8232
  /**
@@ -12713,7 +12939,9 @@ const COMPOSITE_ONLY_ICONS = {
12713
12939
  /* @conditional-compile-remove(PSTN-calls) */
12714
12940
  PeoplePaneOpenDialpad: React__default['default'].createElement(reactIcons.Dialpad20Regular, null),
12715
12941
  /* @conditional-compile-remove(PSTN-calls) */
12716
- DialpadStartCall: React__default['default'].createElement(reactIcons.Call20Regular, null)
12942
+ DialpadStartCall: React__default['default'].createElement(reactIcons.Call20Regular, null),
12943
+ /* @conditional-compile-remove(rooms) */
12944
+ NoticePageInvalidRoom: React__default['default'].createElement(reactIcons.Info20Filled, null)
12717
12945
  };
12718
12946
  /**
12719
12947
  * The default set of icons that are available to used in the Composites.
@@ -12746,7 +12974,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
12746
12974
  */
12747
12975
  const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
12748
12976
 
12749
- var call$d={cameraLabel:"Camera",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",peopleButtonLabel:"People",peoplePaneTitle:"People",peoplePaneSubTitle:"In this call",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",soundLabel:"Sound",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var chat$d={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$d={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",peopleButtonLabel:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var en_US = {call:call$d,chat:chat$d,callWithChat:callWithChat$d};
12977
+ var call$d={cameraLabel:"Camera",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",peoplePaneTitle:"People",peoplePaneSubTitle:"In this call",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var chat$d={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$d={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",peopleButtonLabel:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceHolderText:"Enter number"};var en_US = {call:call$d,chat:chat$d,callWithChat:callWithChat$d};
12750
12978
 
12751
12979
  var call$c={cameraLabel:"Camera",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",defaultPlaceHolder:"Select an option",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",soundLabel:"Sound",startCallButtonLabel:"Start call",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby."};var chat$c={chatListHeader:"In this chat"};var callWithChat$c={peopleButtonLabel:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",chatButtonLabel:"Chat",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipOpen:"Show chat",chatButtonTooltipClose:"Hide chat",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",peoplePaneTitle:"People",peoplePaneSubTitle:"In this call",chatPaneTitle:"Chat",chatButtonNewMessageNotificationLabel:"New Message",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",copyInviteLinkButtonLabel:"Copy invite link",dismissSidePaneButton:"Close",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back"};var en_GB = {call:call$c,chat:chat$c,callWithChat:callWithChat$c};
12752
12980
 
@@ -14404,13 +14632,19 @@ const END_CALL_PAGES = [
14404
14632
  'accessDeniedTeamsMeeting',
14405
14633
  'joinCallFailedDueToNoNetwork',
14406
14634
  'leftCall',
14407
- 'removedFromCall'
14635
+ /* @conditional-compile-remove(rooms) */ 'deniedPermissionToRoom',
14636
+ 'removedFromCall',
14637
+ /* @conditional-compile-remove(rooms) */ 'roomNotFound'
14408
14638
  ];
14409
14639
 
14410
14640
  // Copyright (c) Microsoft Corporation.
14411
14641
  const ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;
14412
14642
  const REMOTE_PSTN_USER_HUNG_UP = 560000;
14413
14643
  const REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];
14644
+ /* @conditional-compile-remove(rooms) */
14645
+ const ROOM_NOT_FOUND_SUB_CODE = 5751;
14646
+ /* @conditional-compile-remove(rooms) */
14647
+ const DENIED_PERMISSION_TO_ROOM_SUB_CODE = 5828;
14414
14648
  /**
14415
14649
  * @private
14416
14650
  */
@@ -14453,9 +14687,11 @@ var CallEndReasons;
14453
14687
  CallEndReasons[CallEndReasons["LEFT_CALL"] = 0] = "LEFT_CALL";
14454
14688
  CallEndReasons[CallEndReasons["ACCESS_DENIED"] = 1] = "ACCESS_DENIED";
14455
14689
  CallEndReasons[CallEndReasons["REMOVED_FROM_CALL"] = 2] = "REMOVED_FROM_CALL";
14690
+ CallEndReasons[CallEndReasons["ROOM_NOT_FOUND"] = 3] = "ROOM_NOT_FOUND";
14691
+ CallEndReasons[CallEndReasons["DENIED_PERMISSION_TO_ROOM"] = 4] = "DENIED_PERMISSION_TO_ROOM";
14456
14692
  })(CallEndReasons || (CallEndReasons = {}));
14457
14693
  const getCallEndReason = (call) => {
14458
- var _a, _b, _c;
14694
+ var _a, _b, _c, _d, _e;
14459
14695
  const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));
14460
14696
  /**
14461
14697
  * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.
@@ -14475,6 +14711,14 @@ const getCallEndReason = (call) => {
14475
14711
  if (((_c = call.callEndReason) === null || _c === void 0 ? void 0 : _c.subCode) && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {
14476
14712
  return CallEndReasons.REMOVED_FROM_CALL;
14477
14713
  }
14714
+ /* @conditional-compile-remove(rooms) */
14715
+ if (((_d = call.callEndReason) === null || _d === void 0 ? void 0 : _d.subCode) && call.callEndReason.subCode === ROOM_NOT_FOUND_SUB_CODE) {
14716
+ return CallEndReasons.ROOM_NOT_FOUND;
14717
+ }
14718
+ /* @conditional-compile-remove(rooms) */
14719
+ if (((_e = call.callEndReason) === null || _e === void 0 ? void 0 : _e.subCode) && call.callEndReason.subCode === DENIED_PERMISSION_TO_ROOM_SUB_CODE) {
14720
+ return CallEndReasons.DENIED_PERMISSION_TO_ROOM;
14721
+ }
14478
14722
  if (call.callEndReason) {
14479
14723
  // No error codes match, assume the user simply left the call regularly
14480
14724
  return CallEndReasons.LEFT_CALL;
@@ -14522,6 +14766,13 @@ const getCallCompositePage = (call, previousCall) => {
14522
14766
  }
14523
14767
  if (previousCall) {
14524
14768
  const reason = getCallEndReason(previousCall);
14769
+ /* @conditional-compile-remove(rooms) */
14770
+ switch (reason) {
14771
+ case CallEndReasons.ROOM_NOT_FOUND:
14772
+ return 'roomNotFound';
14773
+ case CallEndReasons.DENIED_PERMISSION_TO_ROOM:
14774
+ return 'deniedPermissionToRoom';
14775
+ }
14525
14776
  switch (reason) {
14526
14777
  case CallEndReasons.ACCESS_DENIED:
14527
14778
  return 'accessDeniedTeamsMeeting';
@@ -14581,16 +14832,17 @@ const disableCallControls = (callControlOptions, disabledControls) => {
14581
14832
  };
14582
14833
  /**
14583
14834
  * Check if a disabled object is provided for a button and returns if the button is disabled.
14835
+ * A button is only disabled if is explicitly set to disabled.
14584
14836
  *
14585
14837
  * @param option
14586
14838
  * @returns whether a button is disabled
14587
14839
  * @private
14588
14840
  */
14589
14841
  const isDisabled$2 = (option) => {
14590
- if (typeof option !== 'boolean') {
14591
- return !!(option === null || option === void 0 ? void 0 : option.disabled);
14842
+ if (option === undefined || typeof option === 'boolean') {
14843
+ return false;
14592
14844
  }
14593
- return option;
14845
+ return option.disabled;
14594
14846
  };
14595
14847
 
14596
14848
  // Copyright (c) Microsoft Corporation.
@@ -15278,6 +15530,39 @@ const callStatusSelector = reselect.createSelector([getCallStatus, getIsScreenSh
15278
15530
  };
15279
15531
  });
15280
15532
 
15533
+ // Copyright (c) Microsoft Corporation.
15534
+ /**
15535
+ * @private
15536
+ */
15537
+ const useSidePaneState = () => {
15538
+ const { callStatus } = useSelector$1(callStatusSelector);
15539
+ const isInCall = _isInCall(callStatus);
15540
+ const [chosenPane, setChosenPane] = React.useState(null);
15541
+ const closePane = React.useCallback(() => {
15542
+ setChosenPane(null);
15543
+ }, [setChosenPane]);
15544
+ const openPeoplePane = React.useCallback(() => {
15545
+ setChosenPane('people');
15546
+ }, []);
15547
+ const togglePeoplePane = React.useCallback(() => {
15548
+ if (chosenPane === 'people') {
15549
+ closePane();
15550
+ }
15551
+ else {
15552
+ openPeoplePane();
15553
+ }
15554
+ }, [chosenPane, closePane, openPeoplePane]);
15555
+ // If we are not in a call, we should not show the people pane.
15556
+ const activePane = chosenPane === 'people' && isInCall ? 'people' : null;
15557
+ const memoizedReturnValue = React.useMemo(() => ({
15558
+ activePane,
15559
+ closePane,
15560
+ openPeoplePane,
15561
+ togglePeoplePane
15562
+ }), [activePane, closePane, openPeoplePane, togglePeoplePane]);
15563
+ return memoizedReturnValue;
15564
+ };
15565
+
15281
15566
  // Copyright (c) Microsoft Corporation.
15282
15567
  // Licensed under the MIT license.
15283
15568
  /** @private */
@@ -15973,11 +16258,11 @@ var __awaiter$9 = (window && window.__awaiter) || function (thisArg, _arguments,
15973
16258
  const PeoplePaneContent = (props) => {
15974
16259
  const { inviteLink, onFetchParticipantMenuItems, setDrawerMenuItems, strings, onRemoveParticipant } = props;
15975
16260
  const participantListDefaultProps = usePropsFor$1(ParticipantList);
15976
- const disableRemoveButton = !hasRemoveParticipantsPermissionTrampoline();
16261
+ const removeButtonAllowed = hasRemoveParticipantsPermissionTrampoline();
15977
16262
  const setDrawerMenuItemsForParticipant = React.useMemo(() => {
15978
16263
  return (participant) => {
15979
16264
  if (participant) {
15980
- let contextualMenuItems = createDefaultContextualMenuItems(participant, strings, participantListDefaultProps.onRemoveParticipant, participantListDefaultProps.myUserId, disableRemoveButton);
16265
+ let contextualMenuItems = createDefaultContextualMenuItems(participant, strings, removeButtonAllowed ? participantListDefaultProps.onRemoveParticipant : undefined, participantListDefaultProps.myUserId);
15981
16266
  if (onFetchParticipantMenuItems) {
15982
16267
  contextualMenuItems = onFetchParticipantMenuItems(participant.userId, participantListDefaultProps.myUserId, contextualMenuItems);
15983
16268
  }
@@ -15989,7 +16274,7 @@ const PeoplePaneContent = (props) => {
15989
16274
  strings,
15990
16275
  participantListDefaultProps.onRemoveParticipant,
15991
16276
  participantListDefaultProps.myUserId,
15992
- disableRemoveButton,
16277
+ removeButtonAllowed,
15993
16278
  onFetchParticipantMenuItems,
15994
16279
  setDrawerMenuItems
15995
16280
  ]);
@@ -16025,13 +16310,9 @@ const PeoplePaneContent = (props) => {
16025
16310
  * @param localParticipantUserId - Local participant user id
16026
16311
  * @returns - IContextualMenuItem[]
16027
16312
  */
16028
- const createDefaultContextualMenuItems = (participant, strings, onRemoveParticipant, localParticipantUserId, disableRemoveButton) => {
16029
- let disabled = !participant.isRemovable;
16030
- if (disableRemoveButton) {
16031
- disabled = disabled || disableRemoveButton;
16032
- }
16313
+ const createDefaultContextualMenuItems = (participant, strings, onRemoveParticipant, localParticipantUserId) => {
16033
16314
  const menuItems = [];
16034
- if ((participant === null || participant === void 0 ? void 0 : participant.userId) !== localParticipantUserId) {
16315
+ if (onRemoveParticipant && (participant === null || participant === void 0 ? void 0 : participant.userId) !== localParticipantUserId) {
16035
16316
  menuItems.push({
16036
16317
  key: 'remove',
16037
16318
  text: strings.removeMenuLabel,
@@ -16042,8 +16323,7 @@ const createDefaultContextualMenuItems = (participant, strings, onRemoveParticip
16042
16323
  },
16043
16324
  iconProps: {
16044
16325
  iconName: 'UserRemove'
16045
- },
16046
- disabled: disabled
16326
+ }
16047
16327
  });
16048
16328
  }
16049
16329
  return menuItems;
@@ -16214,8 +16494,7 @@ var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments,
16214
16494
  const CallPane = (props) => {
16215
16495
  var _a;
16216
16496
  const [drawerMenuItems, setDrawerMenuItems] = React.useState([]);
16217
- const hidden = props.activePane === 'none';
16218
- const paneStyles = hidden ? hiddenStyles : props.mobileView ? availableSpaceStyles : sidePaneStyles;
16497
+ const paneStyles = !props.activePane ? hiddenStyles : props.mobileView ? availableSpaceStyles : sidePaneStyles;
16219
16498
  const localeStrings = useLocale();
16220
16499
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
16221
16500
  const getStrings = () => {
@@ -16224,7 +16503,7 @@ const CallPane = (props) => {
16224
16503
  };
16225
16504
  const strings = getStrings();
16226
16505
  const theme = useTheme();
16227
- const header = props.activePane === 'none' ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: strings, activeTab: props.activePane, disablePeopleButton: isDisabled$2((_a = props.callControls) === null || _a === void 0 ? void 0 : _a.participantsButton) }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: strings, headingText: props.activePane === 'people' ? strings.peoplePaneTitle : '' })));
16506
+ const header = !props.activePane ? null : props.mobileView ? (React__default['default'].createElement(TabHeader, Object.assign({}, props, { strings: strings, activeTab: props.activePane, disablePeopleButton: isDisabled$2((_a = props.callControls) === null || _a === void 0 ? void 0 : _a.participantsButton) }))) : (React__default['default'].createElement(SidePaneHeader, Object.assign({}, props, { strings: strings, headingText: props.activePane === 'people' ? strings.peoplePaneTitle : '' })));
16228
16507
  /**
16229
16508
  * In a Call Composite when a participant is removed, we must remove them from the call.
16230
16509
  */
@@ -16252,7 +16531,7 @@ const CallPane = (props) => {
16252
16531
  onAddParticipant: addParticipantToCall, setDrawerMenuItems: setDrawerMenuItems, strings: strings,
16253
16532
  /* @conditional-compile-remove(PSTN-calls) */
16254
16533
  alternateCallerId: alternateCallerId }))))))),
16255
- props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { callAdapter: props.callAdapter, modalLayerHostId: props.modalLayerHostId, hidden: hidden, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
16534
+ props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { callAdapter: props.callAdapter, modalLayerHostId: props.modalLayerHostId, hidden: !props.activePane, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
16256
16535
  drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles },
16257
16536
  React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems })))));
16258
16537
  };
@@ -16311,30 +16590,9 @@ const CallArrangement = (props) => {
16311
16590
  /* @conditional-compile-remove(one-to-n-calling) */
16312
16591
  const adapter = useAdapter();
16313
16592
  /* @conditional-compile-remove(one-to-n-calling) */
16314
- const [activePane, setActivePane] = React.useState('none');
16315
- /* @conditional-compile-remove(one-to-n-calling) */
16316
- const { callStatus } = useSelector$1(callStatusSelector);
16593
+ const { activePane, closePane, openPeoplePane, togglePeoplePane } = useSidePaneState();
16317
16594
  /* @conditional-compile-remove(one-to-n-calling) */
16318
- const closePane = React.useCallback(() => {
16319
- setActivePane('none');
16320
- }, [setActivePane]);
16321
- /* @conditional-compile-remove(one-to-n-calling) */
16322
- const isMobileWithActivePane = props.mobileView && activePane !== 'none';
16323
- /* @conditional-compile-remove(one-to-n-calling) */
16324
- const togglePeople = React.useCallback(() => {
16325
- if (activePane === 'people' || !_isInCall(callStatus)) {
16326
- setActivePane('none');
16327
- }
16328
- else {
16329
- setActivePane('people');
16330
- }
16331
- }, [activePane, setActivePane, callStatus]);
16332
- /* @conditional-compile-remove(one-to-n-calling) */
16333
- const selectPeople = React.useCallback(() => {
16334
- if (_isInCall(callStatus)) {
16335
- setActivePane('people');
16336
- }
16337
- }, [setActivePane, callStatus]);
16595
+ const isMobileWithActivePane = props.mobileView && activePane;
16338
16596
  /* @conditional-compile-remove(one-to-n-calling) */
16339
16597
  const callCompositeContainerCSS = React.useMemo(() => {
16340
16598
  return { display: isMobileWithActivePane ? 'none' : 'flex' };
@@ -16348,14 +16606,13 @@ const CallArrangement = (props) => {
16348
16606
  /* @conditional-compile-remove(one-to-n-calling) */
16349
16607
  const callPaneContent = React.useCallback(() => {
16350
16608
  var _a;
16351
- if (adapter && _isInCall(callStatus) && activePane === 'people') {
16352
- return (React__default['default'].createElement(CallPane, { callAdapter: adapter, onClose: closePane, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: (_a = props.callControlProps) === null || _a === void 0 ? void 0 : _a.onFetchParticipantMenuItems, onPeopleButtonClicked: showShowPeopleTabHeaderButton$1(props.callControlProps.options) ? selectPeople : undefined, callControls: typeof props.callControlProps.options !== 'boolean' ? props.callControlProps.options : undefined, modalLayerHostId: props.modalLayerHostId, activePane: activePane, mobileView: props.mobileView, inviteLink: props.callControlProps.callInvitationURL }));
16609
+ if (adapter && activePane === 'people') {
16610
+ return (React__default['default'].createElement(CallPane, { callAdapter: adapter, onClose: closePane, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: (_a = props.callControlProps) === null || _a === void 0 ? void 0 : _a.onFetchParticipantMenuItems, onPeopleButtonClicked: showShowPeopleTabHeaderButton$1(props.callControlProps.options) ? openPeoplePane : undefined, callControls: typeof props.callControlProps.options !== 'boolean' ? props.callControlProps.options : undefined, modalLayerHostId: props.modalLayerHostId, activePane: activePane, mobileView: props.mobileView, inviteLink: props.callControlProps.callInvitationURL }));
16353
16611
  }
16354
16612
  return React__default['default'].createElement(React__default['default'].Fragment, null);
16355
16613
  }, [
16356
16614
  activePane,
16357
16615
  adapter,
16358
- callStatus,
16359
16616
  closePane,
16360
16617
  props.callControlProps.callInvitationURL,
16361
16618
  (_a = props.callControlProps) === null || _a === void 0 ? void 0 : _a.onFetchParticipantMenuItems,
@@ -16363,8 +16620,13 @@ const CallArrangement = (props) => {
16363
16620
  props.mobileView,
16364
16621
  props.modalLayerHostId,
16365
16622
  props.onFetchAvatarPersonaData,
16366
- selectPeople
16623
+ openPeoplePane
16367
16624
  ]);
16625
+ /* @conditional-compile-remove(rooms) */
16626
+ const rolePermissions = _usePermissions();
16627
+ let canUnmute = true;
16628
+ /* @conditional-compile-remove(rooms) */
16629
+ canUnmute = rolePermissions.microphoneButton;
16368
16630
  return (React__default['default'].createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles) },
16369
16631
  React__default['default'].createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
16370
16632
  React__default['default'].createElement(react.Stack, { horizontal: true, grow: true },
@@ -16373,7 +16635,7 @@ const CallArrangement = (props) => {
16373
16635
  React__default['default'].createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
16374
16636
  props.errorBarProps !== false && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
16375
16637
  React__default['default'].createElement(ErrorBar, Object.assign({}, props.errorBarProps)))),
16376
- !!props.mutedNotificationProps && React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps))),
16638
+ canUnmute && !!props.mutedNotificationProps && React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps))),
16377
16639
  React__default['default'].createElement(react.Stack.Item, { grow: true, style: callCompositeContainerFlex() },
16378
16640
  React__default['default'].createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true }, props.onRenderGalleryContent && (React__default['default'].createElement(react.Stack, { verticalFill: true, styles: mediaGalleryContainerStyles }, props.onRenderGalleryContent())))),
16379
16641
  callPaneContent()),
@@ -16383,7 +16645,7 @@ const CallArrangement = (props) => {
16383
16645
  /* @conditional-compile-remove(one-to-n-calling) */
16384
16646
  peopleButtonChecked: activePane === 'people',
16385
16647
  /* @conditional-compile-remove(one-to-n-calling) */
16386
- onPeopleButtonClicked: togglePeople })))))));
16648
+ onPeopleButtonClicked: togglePeoplePane })))))));
16387
16649
  };
16388
16650
  /* @conditional-compile-remove(one-to-n-calling) */
16389
16651
  const showShowPeopleTabHeaderButton$1 = (callControls) => {
@@ -17477,6 +17739,15 @@ const MainScreen = (props) => {
17477
17739
  const adapter = useAdapter();
17478
17740
  const locale = useLocale();
17479
17741
  let pageElement;
17742
+ /* @conditional-compile-remove(rooms) */
17743
+ switch (page) {
17744
+ case 'roomNotFound':
17745
+ pageElement = (React__default['default'].createElement(NoticePage, { iconName: "NoticePageInvalidRoom", title: locale.strings.call.roomNotFoundTitle, moreDetails: locale.strings.call.roomNotFoundDetails, dataUiId: 'room-not-found-page' }));
17746
+ break;
17747
+ case 'deniedPermissionToRoom':
17748
+ pageElement = (React__default['default'].createElement(NoticePage, { iconName: "NoticePageInvalidRoom", title: locale.strings.call.deniedPermissionToRoomTitle, moreDetails: locale.strings.call.deniedPermissionToRoomDetails, dataUiId: 'not-invited-to-room-page' }));
17749
+ break;
17750
+ }
17480
17751
  switch (page) {
17481
17752
  case 'configuration':
17482
17753
  pageElement = (React__default['default'].createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
@@ -17510,8 +17781,9 @@ const MainScreen = (props) => {
17510
17781
  pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null,
17511
17782
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ React__default['default'].createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options })));
17512
17783
  break;
17513
- default:
17514
- throw new Error('Invalid call composite page');
17784
+ }
17785
+ if (!pageElement) {
17786
+ throw new Error('Invalid call composite page');
17515
17787
  }
17516
17788
  /* @conditional-compile-remove(rooms) */
17517
17789
  const permissions = _getPermissions(props.role);
@@ -18070,7 +18342,12 @@ class AzureCommunicationCallAdapter {
18070
18342
  /* @conditional-compile-remove(PSTN-calls) */
18071
18343
  addParticipant(participant, options) {
18072
18344
  return __awaiter$4(this, void 0, void 0, function* () {
18073
- this.handlers.onAddParticipant(participant, options);
18345
+ if (communicationCommon.isPhoneNumberIdentifier(participant) && options) {
18346
+ this.handlers.onAddParticipant(participant, options);
18347
+ }
18348
+ else if (communicationCommon.isCommunicationUserIdentifier(participant)) {
18349
+ this.handlers.onAddParticipant(participant);
18350
+ }
18074
18351
  });
18075
18352
  }
18076
18353
  /* @conditional-compile-remove(PSTN-calls) */
@@ -18869,15 +19146,22 @@ class CallWithChatBackedCallAdapter {
18869
19146
  yield this.callWithChatAdapter.resumeCall();
18870
19147
  });
18871
19148
  /* @conditional-compile-remove(PSTN-calls) */
18872
- this.addParticipant = (participant, options) => __awaiter$3(this, void 0, void 0, function* () {
18873
- yield this.callWithChatAdapter.addParticipant(participant, options);
18874
- });
18875
- /* @conditional-compile-remove(PSTN-calls) */
18876
19149
  this.sendDtmfTone = (dtmfTone) => __awaiter$3(this, void 0, void 0, function* () {
18877
19150
  yield this.callWithChatAdapter.sendDtmfTone(dtmfTone);
18878
19151
  });
18879
19152
  this.callWithChatAdapter = callWithChatAdapter;
18880
19153
  }
19154
+ /* @conditional-compile-remove(PSTN-calls) */
19155
+ addParticipant(participant, options) {
19156
+ return __awaiter$3(this, void 0, void 0, function* () {
19157
+ if (communicationCommon.isPhoneNumberIdentifier(participant) && options) {
19158
+ return this.callWithChatAdapter.addParticipant(participant, options);
19159
+ }
19160
+ else {
19161
+ return this.callWithChatAdapter.addParticipant(participant);
19162
+ }
19163
+ });
19164
+ }
18881
19165
  }
18882
19166
  function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
18883
19167
  return {
@@ -19835,7 +20119,12 @@ class AzureCommunicationCallWithChatAdapter {
19835
20119
  /* @conditional-compile-remove(PSTN-calls) */
19836
20120
  addParticipant(participant, options) {
19837
20121
  return __awaiter(this, void 0, void 0, function* () {
19838
- return yield this.callAdapter.addParticipant(participant, options);
20122
+ if (communicationCommon.isCommunicationUserIdentifier(participant)) {
20123
+ return yield this.callAdapter.addParticipant(participant);
20124
+ }
20125
+ else {
20126
+ return yield this.callAdapter.addParticipant(participant, options);
20127
+ }
19839
20128
  });
19840
20129
  }
19841
20130
  /* @conditional-compile-remove(PSTN-calls) */
@@ -20230,6 +20519,7 @@ exports.DEFAULT_COMPONENT_ICONS = DEFAULT_COMPONENT_ICONS;
20230
20519
  exports.DEFAULT_COMPOSITE_ICONS = DEFAULT_COMPOSITE_ICONS;
20231
20520
  exports.DevicesButton = DevicesButton;
20232
20521
  exports.Dialpad = Dialpad;
20522
+ exports.DomainPermissions = DomainPermissions;
20233
20523
  exports.EndCallButton = EndCallButton;
20234
20524
  exports.ErrorBar = ErrorBar;
20235
20525
  exports.FluentThemeProvider = FluentThemeProvider;
@@ -20246,6 +20536,7 @@ exports.ScreenShareButton = ScreenShareButton;
20246
20536
  exports.SendBox = SendBox;
20247
20537
  exports.StreamMedia = StreamMedia;
20248
20538
  exports.TypingIndicator = TypingIndicator;
20539
+ exports.UnsupportedBrowser = UnsupportedBrowser;
20249
20540
  exports.VideoGallery = VideoGallery;
20250
20541
  exports.VideoTile = VideoTile;
20251
20542
  exports._IdentifierProvider = _IdentifierProvider;