@azure/communication-react 1.3.3-alpha-202210130020.0 → 1.3.3-alpha-202210150019.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +5 -1
- package/dist/dist-cjs/communication-react/index.js +77 -23
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +8 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +12 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +6 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +39 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -1
- package/package.json +8 -8
@@ -1488,6 +1488,10 @@ export declare interface CallCompositeStrings {
|
|
1488
1488
|
* Control bar People button ToolTipContent
|
1489
1489
|
*/
|
1490
1490
|
peopleButtonTooltipClose: string;
|
1491
|
+
/**
|
1492
|
+
* Label disaplayed on the lobby screen during a 1:1 outbound call.
|
1493
|
+
*/
|
1494
|
+
outboundCallingNoticeString: string;
|
1491
1495
|
}
|
1492
1496
|
|
1493
1497
|
/**
|
@@ -1667,7 +1671,7 @@ export declare type CallingHandlers = {
|
|
1667
1671
|
onStartScreenShare: () => Promise<void>;
|
1668
1672
|
onStopScreenShare: () => Promise<void>;
|
1669
1673
|
onToggleScreenShare: () => Promise<void>;
|
1670
|
-
onHangUp: () => Promise<void>;
|
1674
|
+
onHangUp: (forEveryone?: boolean) => Promise<void>;
|
1671
1675
|
onToggleHold: () => Promise<void>;
|
1672
1676
|
onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>;
|
1673
1677
|
onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>;
|
@@ -202,7 +202,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
202
202
|
// Copyright (c) Microsoft Corporation.
|
203
203
|
// Licensed under the MIT license.
|
204
204
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
205
|
-
var telemetryVersion = '1.3.3-alpha-
|
205
|
+
var telemetryVersion = '1.3.3-alpha-202210150019.0';
|
206
206
|
|
207
207
|
// Copyright (c) Microsoft Corporation.
|
208
208
|
/**
|
@@ -676,7 +676,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
676
676
|
const onStartScreenShare = () => __awaiter$v(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
|
677
677
|
const onStopScreenShare = () => __awaiter$v(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
|
678
678
|
const onToggleScreenShare = () => __awaiter$v(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
|
679
|
-
const onHangUp = () => __awaiter$v(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp()); });
|
679
|
+
const onHangUp = (forEveryone) => __awaiter$v(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
|
680
680
|
/* @conditional-compile-remove(PSTN-calls) */
|
681
681
|
const onToggleHold = () => __awaiter$v(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.state) === 'LocalHold' ? yield (call === null || call === void 0 ? void 0 : call.resume()) : yield (call === null || call === void 0 ? void 0 : call.hold()); });
|
682
682
|
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$v(void 0, void 0, void 0, function* () {
|
@@ -13130,7 +13130,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
|
|
13130
13130
|
*/
|
13131
13131
|
const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
|
13132
13132
|
|
13133
|
-
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",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",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};
|
13133
|
+
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",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",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",outboundCallingNoticeString:"Calling..."};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};
|
13134
13134
|
|
13135
13135
|
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};
|
13136
13136
|
|
@@ -15029,8 +15029,8 @@ const createCompositeHandlers = memoizeOne__default['default']((adapter) => ({
|
|
15029
15029
|
onCreateRemoteStreamView: (userId, options) => __awaiter$a(void 0, void 0, void 0, function* () {
|
15030
15030
|
return yield adapter.createStreamView(userId, options);
|
15031
15031
|
}),
|
15032
|
-
onHangUp: () => __awaiter$a(void 0, void 0, void 0, function* () {
|
15033
|
-
yield adapter.leaveCall();
|
15032
|
+
onHangUp: (forEveryone) => __awaiter$a(void 0, void 0, void 0, function* () {
|
15033
|
+
yield adapter.leaveCall(forEveryone);
|
15034
15034
|
}),
|
15035
15035
|
/* @conditional-compile-remove(PSTN-calls) */
|
15036
15036
|
onToggleHold: () => __awaiter$a(void 0, void 0, void 0, function* () {
|
@@ -15248,13 +15248,22 @@ const onFetchCustomButtonPropsTrampoline$1 = (options) => {
|
|
15248
15248
|
/** @private */
|
15249
15249
|
const Devices = (props) => {
|
15250
15250
|
const devicesButtonProps = usePropsFor$1(DevicesButton);
|
15251
|
+
/* @conditional-compile-remove(rooms) */
|
15252
|
+
const permissions = _usePermissions();
|
15253
|
+
const augmentedDeviceButtonProps = React.useMemo(() => (Object.assign(Object.assign({}, devicesButtonProps), {
|
15254
|
+
/* @conditional-compile-remove(rooms) */
|
15255
|
+
microphones: !permissions.microphoneButton ? [] : devicesButtonProps.microphones,
|
15256
|
+
/* @conditional-compile-remove(rooms) */
|
15257
|
+
cameras: !permissions.cameraButton ? [] : devicesButtonProps.cameras })), [
|
15258
|
+
devicesButtonProps,
|
15259
|
+
/* @conditional-compile-remove(rooms) */
|
15260
|
+
permissions
|
15261
|
+
]);
|
15251
15262
|
const styles = React.useMemo(() => {
|
15252
15263
|
var _a;
|
15253
15264
|
return concatButtonBaseStyles(props.increaseFlyoutItemSize ? devicesButtonWithIncreasedTouchTargets : {}, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
|
15254
15265
|
}, [props.increaseFlyoutItemSize, props.styles]);
|
15255
15266
|
/* @conditional-compile-remove(rooms) */
|
15256
|
-
const permissions = _usePermissions();
|
15257
|
-
/* @conditional-compile-remove(rooms) */
|
15258
15267
|
const locale = useLocale();
|
15259
15268
|
/* @conditional-compile-remove(rooms) */
|
15260
15269
|
const onlyManageSpeakers = !permissions.microphoneButton && !permissions.cameraButton;
|
@@ -15266,7 +15275,7 @@ const Devices = (props) => {
|
|
15266
15275
|
/* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */
|
15267
15276
|
, Object.assign({
|
15268
15277
|
/* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */
|
15269
|
-
persistMenu: true },
|
15278
|
+
persistMenu: true }, augmentedDeviceButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, "data-ui-id": "calling-composite-devices-button", disabled: props.disabled,
|
15270
15279
|
/* @conditional-compile-remove(rooms) */
|
15271
15280
|
strings: getLabelFromPermissions(permissions, locale),
|
15272
15281
|
/* @conditional-compile-remove(rooms) */
|
@@ -16824,14 +16833,20 @@ const CallArrangement = (props) => {
|
|
16824
16833
|
let canUnmute = true;
|
16825
16834
|
/* @conditional-compile-remove(rooms) */
|
16826
16835
|
canUnmute = rolePermissions.microphoneButton;
|
16836
|
+
let errorBarProps = props.errorBarProps;
|
16837
|
+
/* @conditional-compile-remove(rooms) */
|
16838
|
+
// TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
|
16839
|
+
if (!rolePermissions.cameraButton && props.errorBarProps) {
|
16840
|
+
errorBarProps = Object.assign(Object.assign({}, props.errorBarProps), { activeErrorMessages: props.errorBarProps.activeErrorMessages.filter((e) => e.type !== 'callCameraAccessDenied') });
|
16841
|
+
}
|
16827
16842
|
return (React__default['default'].createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles) },
|
16828
16843
|
React__default['default'].createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
16829
16844
|
React__default['default'].createElement(react.Stack, { horizontal: true, grow: true },
|
16830
16845
|
React__default['default'].createElement(react.Stack.Item, { styles: notificationsContainerStyles },
|
16831
16846
|
React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
16832
16847
|
React__default['default'].createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
|
16833
|
-
|
16834
|
-
React__default['default'].createElement(ErrorBar, Object.assign({},
|
16848
|
+
errorBarProps !== false && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
16849
|
+
React__default['default'].createElement(ErrorBar, Object.assign({}, errorBarProps)))),
|
16835
16850
|
canUnmute && !!props.mutedNotificationProps && React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps))),
|
16836
16851
|
React__default['default'].createElement(react.Stack.Item, { grow: true, style: callCompositeContainerFlex() },
|
16837
16852
|
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())))),
|
@@ -17615,13 +17630,18 @@ const ConfigurationPage = (props) => {
|
|
17615
17630
|
const options = useAdaptedSelector(getSelector$1(DevicesButton));
|
17616
17631
|
const localDeviceSettingsHandlers = useHandlers();
|
17617
17632
|
const { video: cameraPermissionGranted, audio: microphonePermissionGranted } = useSelector$1(devicePermissionSelector);
|
17618
|
-
|
17633
|
+
let errorBarProps = usePropsFor$1(ErrorBar);
|
17619
17634
|
const adapter = useAdapter();
|
17620
17635
|
const deviceState = adapter.getState().devices;
|
17621
17636
|
let disableStartCallButton = !microphonePermissionGranted || ((_a = deviceState.microphones) === null || _a === void 0 ? void 0 : _a.length) === 0;
|
17622
17637
|
/* @conditional-compile-remove(rooms) */
|
17623
17638
|
const rolePermissions = _usePermissions();
|
17624
17639
|
/* @conditional-compile-remove(rooms) */
|
17640
|
+
// TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
|
17641
|
+
if (!rolePermissions.cameraButton) {
|
17642
|
+
errorBarProps = Object.assign(Object.assign({}, errorBarProps), { activeErrorMessages: errorBarProps.activeErrorMessages.filter((e) => e.type !== 'callCameraAccessDenied') });
|
17643
|
+
}
|
17644
|
+
/* @conditional-compile-remove(rooms) */
|
17625
17645
|
if (!rolePermissions.microphoneButton) {
|
17626
17646
|
// If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button
|
17627
17647
|
// because microphone device permission is not needed for the user's role
|
@@ -17774,26 +17794,39 @@ const LobbyTile = (props) => {
|
|
17774
17794
|
* @private
|
17775
17795
|
*/
|
17776
17796
|
const LobbyPage = (props) => {
|
17777
|
-
var _a, _b, _c;
|
17797
|
+
var _a, _b, _c, _d;
|
17778
17798
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
17779
17799
|
const lobbyProps = useSelector$1(lobbySelector);
|
17780
17800
|
const strings = useLocale().strings.call;
|
17781
17801
|
const callState = useSelector$1(getCallStatus);
|
17782
17802
|
const inLobby = callState === 'InLobby';
|
17803
|
+
const participants = (_a = useSelector$1(getRemoteParticipants)) !== null && _a !== void 0 ? _a : {};
|
17783
17804
|
useLocalVideoStartTrigger(lobbyProps.localParticipantVideoStream.isAvailable, inLobby);
|
17784
17805
|
// Reduce the controls shown when mobile view is enabled.
|
17785
17806
|
let callControlOptions = props.mobileView
|
17786
|
-
? reduceCallControlsForMobile((
|
17787
|
-
: (
|
17807
|
+
? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls)
|
17808
|
+
: (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
|
17788
17809
|
callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);
|
17789
|
-
return (React__default['default'].createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((
|
17810
|
+
return (React__default['default'].createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && Object.assign({}, errorBarProps), callControlProps: {
|
17790
17811
|
options: callControlOptions,
|
17791
17812
|
increaseFlyoutItemSize: props.mobileView
|
17792
17813
|
}, mobileView: props.mobileView,
|
17793
17814
|
/* @conditional-compile-remove(one-to-n-calling) */
|
17794
|
-
modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React__default['default'].createElement(LobbyTile, Object.assign({}, lobbyProps, { overlayProps: overlayProps(strings, inLobby) })), dataUiId: 'lobby-page' }));
|
17815
|
+
modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React__default['default'].createElement(LobbyTile, Object.assign({}, lobbyProps, { overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page' }));
|
17816
|
+
};
|
17817
|
+
const overlayProps = (strings, inLobby, remoteParticipants) => {
|
17818
|
+
/**
|
17819
|
+
* Only grab the first participant because there will only be one in this situation.
|
17820
|
+
* when starting a call with multiple people the call goes to the connected state and composite goes directly to
|
17821
|
+
* videoGallery.
|
17822
|
+
*/
|
17823
|
+
const outboundCallParticipant = remoteParticipants ? remoteParticipants[0] : undefined;
|
17824
|
+
return inLobby
|
17825
|
+
? overlayPropsWaitingToBeAdmitted(strings)
|
17826
|
+
: outboundCallParticipant
|
17827
|
+
? overlayPropsOutboundCall(strings, outboundCallParticipant)
|
17828
|
+
: overlayPropsConnectingToCall(strings);
|
17795
17829
|
};
|
17796
|
-
const overlayProps = (strings, inLobby) => inLobby ? overlayPropsWaitingToBeAdmitted(strings) : overlayPropsConnectingToCall(strings);
|
17797
17830
|
const overlayPropsConnectingToCall = (strings) => ({
|
17798
17831
|
title: strings.lobbyScreenConnectingToCallTitle,
|
17799
17832
|
moreDetails: strings.lobbyScreenConnectingToCallMoreDetails,
|
@@ -17804,6 +17837,23 @@ const overlayPropsWaitingToBeAdmitted = (strings) => ({
|
|
17804
17837
|
moreDetails: strings.lobbyScreenWaitingToBeAdmittedMoreDetails,
|
17805
17838
|
overlayIcon: React__default['default'].createElement(CallCompositeIcon, { iconName: "LobbyScreenWaitingToBeAdmitted" })
|
17806
17839
|
});
|
17840
|
+
const overlayPropsOutboundCall = (strings, participant) => {
|
17841
|
+
if (communicationCommon.isPhoneNumberIdentifier(participant.identifier)) {
|
17842
|
+
return {
|
17843
|
+
title: participant.identifier.phoneNumber,
|
17844
|
+
moreDetails: outboundCallStringsTrampoline(strings)
|
17845
|
+
};
|
17846
|
+
}
|
17847
|
+
else {
|
17848
|
+
return {
|
17849
|
+
title: outboundCallStringsTrampoline(strings)
|
17850
|
+
};
|
17851
|
+
}
|
17852
|
+
};
|
17853
|
+
const outboundCallStringsTrampoline = (strings) => {
|
17854
|
+
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
17855
|
+
return strings.outboundCallingNoticeString;
|
17856
|
+
};
|
17807
17857
|
|
17808
17858
|
// Copyright (c) Microsoft Corporation.
|
17809
17859
|
/**
|
@@ -18521,9 +18571,9 @@ class AzureCommunicationCallAdapter {
|
|
18521
18571
|
}
|
18522
18572
|
});
|
18523
18573
|
}
|
18524
|
-
leaveCall() {
|
18574
|
+
leaveCall(forEveryone) {
|
18525
18575
|
return __awaiter$4(this, void 0, void 0, function* () {
|
18526
|
-
yield this.handlers.onHangUp();
|
18576
|
+
yield this.handlers.onHangUp(forEveryone);
|
18527
18577
|
this.unsubscribeCallEvents();
|
18528
18578
|
this.call = undefined;
|
18529
18579
|
this.handlers = createDefaultCallingHandlers(this.callClient, this.callAgent, this.deviceManager, undefined);
|
@@ -19436,7 +19486,7 @@ class CallWithChatBackedCallAdapter {
|
|
19436
19486
|
this.joinCall = (microphoneOn) => {
|
19437
19487
|
return this.callWithChatAdapter.joinCall(microphoneOn);
|
19438
19488
|
};
|
19439
|
-
this.leaveCall = () => __awaiter$3(this, void 0, void 0, function* () { return yield this.callWithChatAdapter.leaveCall(); });
|
19489
|
+
this.leaveCall = (forEveryone) => __awaiter$3(this, void 0, void 0, function* () { return yield this.callWithChatAdapter.leaveCall(forEveryone); });
|
19440
19490
|
this.startCall = (participants, options) => {
|
19441
19491
|
let communicationParticipants = participants;
|
19442
19492
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -19901,7 +19951,7 @@ const CallWithChatScreen = (props) => {
|
|
19901
19951
|
const isInLocalHold = currentPage === 'hold';
|
19902
19952
|
const hasJoinedCall = !!(currentPage && hasJoinedCallFn(currentPage, currentCallState !== null && currentCallState !== void 0 ? currentCallState : 'None'));
|
19903
19953
|
const showControlBar = isInLobbyOrConnecting || hasJoinedCall;
|
19904
|
-
const isMobileWithActivePane = mobileView && activePane !== 'none';
|
19954
|
+
const isMobileWithActivePane = mobileView && hasJoinedCall && activePane !== 'none';
|
19905
19955
|
/** Constant setting of id for the parent stack of the composite */
|
19906
19956
|
const compositeParentDivId = reactHooks.useId('callWithChatCompositeParentDiv-internal');
|
19907
19957
|
const toggleChat = React.useCallback(() => {
|
@@ -19955,6 +20005,10 @@ const CallWithChatScreen = (props) => {
|
|
19955
20005
|
setShowDrawer(false);
|
19956
20006
|
togglePeople();
|
19957
20007
|
}, [togglePeople]);
|
20008
|
+
// On mobile, when there is an active call and some side pane is active,
|
20009
|
+
// we hide the call composite via CSS to show only the pane.
|
20010
|
+
// We only set `display` to `none` instead of unmounting the call composite component tree
|
20011
|
+
// to avoid the performance cost of rerendering video streams when we later show the composite again.
|
19958
20012
|
const callCompositeContainerCSS = React.useMemo(() => {
|
19959
20013
|
return { display: isMobileWithActivePane ? 'none' : 'flex' };
|
19960
20014
|
}, [isMobileWithActivePane]);
|
@@ -20267,10 +20321,10 @@ class AzureCommunicationCallWithChatAdapter {
|
|
20267
20321
|
return this.callAdapter.joinCall(microphoneOn);
|
20268
20322
|
}
|
20269
20323
|
/** Leave current Call. */
|
20270
|
-
leaveCall() {
|
20324
|
+
leaveCall(forEveryone) {
|
20271
20325
|
return __awaiter(this, void 0, void 0, function* () {
|
20272
20326
|
// Only remove self from the GroupCall. Contoso must manage access to Chat.
|
20273
|
-
yield this.callAdapter.leaveCall();
|
20327
|
+
yield this.callAdapter.leaveCall(forEveryone);
|
20274
20328
|
});
|
20275
20329
|
}
|
20276
20330
|
/** Start a new Call. */
|