@azure/communication-react 1.23.0-alpha-202412200016 → 1.23.0-alpha-202412210016
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 +174 -15
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-bdhcp77f.js → ChatMessageComponentAsRichTextEditBox-9kQzqcEk.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-bdhcp77f.js.map → ChatMessageComponentAsRichTextEditBox-9kQzqcEk.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DCfnYa5y.js → RichTextSendBoxWrapper-CPU8bZEb.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DCfnYa5y.js.map → RichTextSendBoxWrapper-CPU8bZEb.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-O64dqfKP.js → index-C8ch4y0S.js} +840 -156
- package/dist/dist-cjs/communication-react/index-C8ch4y0S.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +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/baseSelectors.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +0 -8
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +2 -2
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +12 -25
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +5 -5
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +11 -4
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +12 -0
- package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +23 -4
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +23 -5
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +3 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +18 -9
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +8 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +99 -14
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +16 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +37 -11
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +5 -0
- package/dist/dist-esm/react-components/src/components/VideoTile.js +18 -3
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js +8 -0
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +5 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +13 -1
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +5 -2
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +70 -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 +9 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +76 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +32 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +52 -10
- 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/CapabilitiesChangedNotificationBar.js +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +10 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +288 -26
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +57 -8
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +48 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +18 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +48 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +9 -2
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/package.json +1 -1
- package/dist/dist-cjs/communication-react/index-O64dqfKP.js.map +0 -1
@@ -188,7 +188,7 @@ function getDefaultExportFromCjs (x) {
|
|
188
188
|
// Copyright (c) Microsoft Corporation.
|
189
189
|
// Licensed under the MIT License.
|
190
190
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
191
|
-
var telemetryVersion = '1.23.0-alpha-
|
191
|
+
var telemetryVersion = '1.23.0-alpha-202412210016';
|
192
192
|
|
193
193
|
|
194
194
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -528,7 +528,7 @@ const getIdentifier = (state) => toFlatCommunicationIdentifier(state.userId);
|
|
528
528
|
* @private
|
529
529
|
*/
|
530
530
|
const getLatestErrors$1 = (state) => state.latestErrors;
|
531
|
-
/* @conditional-compile-remove(breakout-rooms) */
|
531
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */
|
532
532
|
/**
|
533
533
|
* @private
|
534
534
|
*/
|
@@ -1654,7 +1654,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
|
|
1654
1654
|
*/
|
1655
1655
|
const notificationStackSelector = reselect.createSelector([
|
1656
1656
|
getLatestErrors$1,
|
1657
|
-
/* @conditional-compile-remove(breakout-rooms) */ getLatestNotifications,
|
1657
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */ getLatestNotifications,
|
1658
1658
|
getDiagnostics,
|
1659
1659
|
getDeviceManager$1,
|
1660
1660
|
getEnvironmentInfo$1,
|
@@ -2621,7 +2621,7 @@ let CallContext$2 = class CallContext {
|
|
2621
2621
|
constructor(userId, maxListeners = 50) {
|
2622
2622
|
this._callIdHistory = new CallIdHistory();
|
2623
2623
|
this._timeOutId = {};
|
2624
|
-
/* @conditional-compile-remove(breakout-rooms) */
|
2624
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */
|
2625
2625
|
this._latestCallIdsThatPushedNotifications = {};
|
2626
2626
|
/**
|
2627
2627
|
* Tees direct errors to state.
|
@@ -2654,7 +2654,7 @@ let CallContext$2 = class CallContext {
|
|
2654
2654
|
userId: userId,
|
2655
2655
|
environmentInfo: undefined,
|
2656
2656
|
latestErrors: {},
|
2657
|
-
/* @conditional-compile-remove(breakout-rooms) */ latestNotifications: {}
|
2657
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */ latestNotifications: {}
|
2658
2658
|
};
|
2659
2659
|
this._emitter = new events.EventEmitter();
|
2660
2660
|
this._emitter.setMaxListeners(maxListeners);
|
@@ -3719,14 +3719,14 @@ let CallContext$2 = class CallContext {
|
|
3719
3719
|
draft.latestErrors[target] = error;
|
3720
3720
|
});
|
3721
3721
|
}
|
3722
|
-
/* @conditional-compile-remove(breakout-rooms) */
|
3722
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */
|
3723
3723
|
setLatestNotification(callId, notification) {
|
3724
3724
|
this._latestCallIdsThatPushedNotifications[notification.target] = callId;
|
3725
3725
|
this.modifyState((draft) => {
|
3726
3726
|
draft.latestNotifications[notification.target] = notification;
|
3727
3727
|
});
|
3728
3728
|
}
|
3729
|
-
/* @conditional-compile-remove(breakout-rooms) */
|
3729
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */
|
3730
3730
|
deleteLatestNotification(callId, notificationTarget) {
|
3731
3731
|
let callIdToPushLatestNotification = this._latestCallIdsThatPushedNotifications[notificationTarget];
|
3732
3732
|
callIdToPushLatestNotification = callIdToPushLatestNotification
|
@@ -3767,7 +3767,7 @@ let CallContext$2 = class CallContext {
|
|
3767
3767
|
return;
|
3768
3768
|
}
|
3769
3769
|
if (meetingMediaAccess) {
|
3770
|
-
call.
|
3770
|
+
call.meetingMediaAccess = {
|
3771
3771
|
isAudioPermitted: meetingMediaAccess.isAudioPermitted,
|
3772
3772
|
isVideoPermitted: meetingMediaAccess.isVideoPermitted
|
3773
3773
|
};
|
@@ -7851,6 +7851,14 @@ const customNotificationIconName = {
|
|
7851
7851
|
breakoutRoomJoined: 'NotificationBarBreakoutRoomJoined',
|
7852
7852
|
/* @conditional-compile-remove(breakout-rooms) */
|
7853
7853
|
breakoutRoomClosingSoon: 'NotificationBarBreakoutRoomClosingSoon',
|
7854
|
+
/* @conditional-compile-remove(media-access) */
|
7855
|
+
capabilityTurnVideoOnPresent: 'ControlButtonCameraOff',
|
7856
|
+
/* @conditional-compile-remove(media-access) */
|
7857
|
+
capabilityTurnVideoOnAbsent: 'ControlButtonCameraProhibited',
|
7858
|
+
/* @conditional-compile-remove(media-access) */
|
7859
|
+
capabilityUnmuteMicPresent: 'ControlButtonMicOff',
|
7860
|
+
/* @conditional-compile-remove(media-access) */
|
7861
|
+
capabilityUnmuteMicAbsent: 'ControlButtonMicProhibited',
|
7854
7862
|
/* @conditional-compile-remove(together-mode) */
|
7855
7863
|
togetherModeStarted: 'NotificationBarTogetherModeIcon',
|
7856
7864
|
/* @conditional-compile-remove(together-mode) */
|
@@ -8545,6 +8553,14 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
8545
8553
|
ControlButtonScreenShareStop: React.createElement(reactIcons.ShareScreenStop20Filled, null),
|
8546
8554
|
ControlButtonRaiseHand: React.createElement(ControlButtonRaiseHandIcon, null),
|
8547
8555
|
ControlButtonLowerHand: React.createElement(ControlButtonLowerHandIcon, null),
|
8556
|
+
/* @conditional-compile-remove(media-access) */
|
8557
|
+
ControlButtonMicProhibited: React.createElement(reactIcons.MicProhibited20Filled, null),
|
8558
|
+
/* @conditional-compile-remove(media-access) */
|
8559
|
+
ControlButtonMicProhibitedSmall: React.createElement(reactIcons.MicProhibited16Filled, null),
|
8560
|
+
/* @conditional-compile-remove(media-access) */
|
8561
|
+
ControlButtonCameraProhibited: React.createElement(reactIcons.VideoProhibited20Filled, null),
|
8562
|
+
/* @conditional-compile-remove(media-access) */
|
8563
|
+
ControlButtonCameraProhibitedSmall: React.createElement(reactIcons.VideoProhibited16Filled, null),
|
8548
8564
|
RaiseHandContextualMenuItem: React.createElement(reactIcons.HandRight20Regular, null),
|
8549
8565
|
LowerHandContextualMenuItem: React.createElement(reactIcons.HandRightOff20Regular, null),
|
8550
8566
|
ReactionButtonIcon: React.createElement(reactIcons.Emoji20Regular, null),
|
@@ -8608,6 +8624,8 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
8608
8624
|
SendBoxSend: React.createElement(reactIcons.Send20Regular, null),
|
8609
8625
|
SendBoxSendHovered: React.createElement(reactIcons.Send20Filled, null),
|
8610
8626
|
VideoTileMicOff: React.createElement(reactIcons.MicOff16Filled, null),
|
8627
|
+
/* @conditional-compile-remove(media-access) */
|
8628
|
+
VideoTileCameraOff: React.createElement(reactIcons.VideoProhibited16Filled, null),
|
8611
8629
|
DialpadBackspace: React.createElement(reactIcons.Backspace20Regular, null),
|
8612
8630
|
/* @conditional-compile-remove(call-readiness) */
|
8613
8631
|
SitePermissionsSparkle: React.createElement(SitePermissionSparkle20Filled, null),
|
@@ -16119,7 +16137,7 @@ class _ErrorBoundary extends React.Component {
|
|
16119
16137
|
// Copyright (c) Microsoft Corporation.
|
16120
16138
|
// Licensed under the MIT License.
|
16121
16139
|
/* @conditional-compile-remove(rich-text-editor) */
|
16122
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
16140
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-9kQzqcEk.js'); }));
|
16123
16141
|
/**
|
16124
16142
|
* @private
|
16125
16143
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -16127,7 +16145,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
16127
16145
|
*
|
16128
16146
|
* @conditional-compile-remove(rich-text-editor)
|
16129
16147
|
*/
|
16130
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
16148
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-9kQzqcEk.js'); });
|
16131
16149
|
/**
|
16132
16150
|
* @private
|
16133
16151
|
*/
|
@@ -17698,9 +17716,18 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
17698
17716
|
const displayName = formatDisplayName(participant.displayName);
|
17699
17717
|
const callingPalette = theme.callingPalette;
|
17700
17718
|
const isPinned = pinnedParticipants && (pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId));
|
17701
|
-
const
|
17719
|
+
const showRenderIconTrampoline = () => {
|
17720
|
+
/* @conditional-compile-remove(media-access) */
|
17721
|
+
return !!((callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isScreenSharing) ||
|
17722
|
+
(callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isMuted) ||
|
17723
|
+
(callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.raisedHand) ||
|
17724
|
+
isPinned ||
|
17725
|
+
!((callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.mediaAccess) ? callingParticipant.mediaAccess.isAudioPermitted : true) ||
|
17726
|
+
!((callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.mediaAccess) ? callingParticipant.mediaAccess.isVideoPermitted : true));
|
17727
|
+
};
|
17728
|
+
const onRenderIcon = showRenderIconTrampoline()
|
17702
17729
|
? () => {
|
17703
|
-
var _a;
|
17730
|
+
var _a, _b;
|
17704
17731
|
return (React.createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.5rem' } },
|
17705
17732
|
callingParticipant.raisedHand && (React.createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.2rem' }, style: {
|
17706
17733
|
alignItems: 'center',
|
@@ -17713,9 +17740,15 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
17713
17740
|
React.createElement(react.Stack.Item, null,
|
17714
17741
|
React.createElement(RaisedHandIcon, null)))),
|
17715
17742
|
callingParticipant.isScreenSharing && (React.createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
|
17716
|
-
callingParticipant.isMuted && (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })),
|
17717
17743
|
callingParticipant.spotlight && React.createElement(react.Icon, { iconName: "ParticipantItemSpotlighted", className: iconStyles$2 }),
|
17718
|
-
isPinned && React.createElement(react.Icon, { iconName: "ParticipantItemPinned", className: iconStyles$2 })
|
17744
|
+
isPinned && React.createElement(react.Icon, { iconName: "ParticipantItemPinned", className: iconStyles$2 }),
|
17745
|
+
/* @conditional-compile-remove(media-access) */ callingParticipant.mediaAccess &&
|
17746
|
+
!callingParticipant.mediaAccess.isVideoPermitted ? (React.createElement(react.Icon, { iconName: "ControlButtonCameraProhibited", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })) : undefined,
|
17747
|
+
/* @conditional-compile-remove(media-access) */ callingParticipant.mediaAccess &&
|
17748
|
+
!((_b = callingParticipant.mediaAccess) === null || _b === void 0 ? void 0 : _b.isAudioPermitted) ? (React.createElement(react.Icon, { iconName: "ControlButtonMicProhibited", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })) : undefined,
|
17749
|
+
/* @conditional-compile-remove(media-access) */ (callingParticipant.mediaAccess
|
17750
|
+
? callingParticipant.mediaAccess.isAudioPermitted
|
17751
|
+
: true) && callingParticipant.isMuted ? (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })) : undefined));
|
17719
17752
|
}
|
17720
17753
|
: () => null;
|
17721
17754
|
const onRenderAvatarWithRaiseHand = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.raisedHand) && onRenderAvatar
|
@@ -18319,15 +18352,26 @@ const callingComponentLogger = logger.createClientLogger('communication-react:ca
|
|
18319
18352
|
* @private
|
18320
18353
|
*/
|
18321
18354
|
const useVideoStreamLifecycleMaintainer = (props) => {
|
18322
|
-
const { isMirrored, isScreenSharingOn, isStreamAvailable, onCreateStreamView, onDisposeStreamView, renderElementExists, scalingMode, streamId
|
18355
|
+
const { isMirrored, isScreenSharingOn, isStreamAvailable, onCreateStreamView, onDisposeStreamView, renderElementExists, scalingMode, streamId,
|
18356
|
+
/* @conditional-compile-remove(media-access) */
|
18357
|
+
isVideoPermitted } = props;
|
18323
18358
|
const [videoStreamViewResult, setVideoStreamViewResult] = React.useState();
|
18324
|
-
React.
|
18359
|
+
const createStreamViewTrampoline = React.useCallback((isStreamAvailable, renderElementExists,
|
18360
|
+
/* @conditional-compile-remove(media-access) */ isVideoPermitted) => {
|
18325
18361
|
var _a;
|
18362
|
+
/* @conditional-compile-remove(media-access) */
|
18363
|
+
if (isVideoPermitted === false) {
|
18364
|
+
return;
|
18365
|
+
}
|
18326
18366
|
if (isStreamAvailable && !renderElementExists) {
|
18327
18367
|
(_a = onCreateStreamView === null || onCreateStreamView === void 0 ? void 0 : onCreateStreamView({ isMirrored, scalingMode })) === null || _a === void 0 ? void 0 : _a.then((result) => {
|
18328
18368
|
result && setVideoStreamViewResult(result);
|
18329
18369
|
});
|
18330
18370
|
}
|
18371
|
+
}, [isMirrored, onCreateStreamView, scalingMode]);
|
18372
|
+
React.useEffect(() => {
|
18373
|
+
createStreamViewTrampoline(isStreamAvailable, renderElementExists,
|
18374
|
+
/* @conditional-compile-remove(media-access) */ isVideoPermitted);
|
18331
18375
|
// Always clean up element to make tile up to date and be able to dispose correctly
|
18332
18376
|
return () => {
|
18333
18377
|
if (renderElementExists) {
|
@@ -18348,12 +18392,10 @@ const useVideoStreamLifecycleMaintainer = (props) => {
|
|
18348
18392
|
onDisposeStreamView,
|
18349
18393
|
renderElementExists,
|
18350
18394
|
scalingMode,
|
18351
|
-
|
18352
|
-
|
18353
|
-
|
18354
|
-
|
18355
|
-
*/
|
18356
|
-
streamId
|
18395
|
+
streamId,
|
18396
|
+
createStreamViewTrampoline,
|
18397
|
+
/* @conditional-compile-remove(media-access) */
|
18398
|
+
isVideoPermitted
|
18357
18399
|
]);
|
18358
18400
|
// The execution order for above useEffect is onCreateRemoteStreamView =>(async time gap) RenderElement generated => element disposed => onDisposeRemoteStreamView
|
18359
18401
|
// Element disposed could happen during async time gap, which still cause leaks for unused renderElement.
|
@@ -18408,12 +18450,21 @@ const useRemoteVideoStreamLifecycleMaintainer = (props) => {
|
|
18408
18450
|
*/
|
18409
18451
|
const useVideoTileContextualMenuProps = (props) => {
|
18410
18452
|
var _a;
|
18411
|
-
const { participant, view, strings, isPinned, onPinParticipant, onUnpinParticipant, onUpdateScalingMode, disablePinMenuItem, toggleAnnouncerString, spotlightedParticipantUserIds = [], isSpotlighted, onStartSpotlight, onStopSpotlight, maxParticipantsToSpotlight, myUserId, onMuteParticipant
|
18453
|
+
const { participant, view, strings, isPinned, onPinParticipant, onUnpinParticipant, onUpdateScalingMode, disablePinMenuItem, toggleAnnouncerString, spotlightedParticipantUserIds = [], isSpotlighted, onStartSpotlight, onStopSpotlight, maxParticipantsToSpotlight, myUserId, onMuteParticipant,
|
18454
|
+
/* @conditional-compile-remove(media-access) */
|
18455
|
+
onForbidAudio,
|
18456
|
+
/* @conditional-compile-remove(media-access) */
|
18457
|
+
onPermitAudio,
|
18458
|
+
/* @conditional-compile-remove(media-access) */
|
18459
|
+
onForbidVideo,
|
18460
|
+
/* @conditional-compile-remove(media-access) */
|
18461
|
+
onPermitVideo } = props;
|
18412
18462
|
const scalingMode = React.useMemo(() => {
|
18413
18463
|
var _a;
|
18414
18464
|
return (_a = props.participant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode;
|
18415
18465
|
}, [(_a = props.participant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode]);
|
18416
18466
|
const contextualMenuProps = React.useMemo(() => {
|
18467
|
+
var _a, _b;
|
18417
18468
|
const items = [];
|
18418
18469
|
if (onMuteParticipant && (strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel)) {
|
18419
18470
|
items.push({
|
@@ -18429,6 +18480,68 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
18429
18480
|
disabled: participant.isMuted
|
18430
18481
|
});
|
18431
18482
|
}
|
18483
|
+
/* @conditional-compile-remove(media-access) */
|
18484
|
+
if (participant.canAudioBeForbidden &&
|
18485
|
+
participant.mediaAccess &&
|
18486
|
+
!participant.mediaAccess.isAudioPermitted &&
|
18487
|
+
onPermitAudio) {
|
18488
|
+
items.push({
|
18489
|
+
key: 'permitAudio',
|
18490
|
+
text: strings === null || strings === void 0 ? void 0 : strings.permitAudioTileMenuLabel,
|
18491
|
+
iconProps: {
|
18492
|
+
iconName: 'ControlButtonMicOn',
|
18493
|
+
styles: { root: { lineHeight: 0 } }
|
18494
|
+
},
|
18495
|
+
onClick: () => onPermitAudio([participant.userId]),
|
18496
|
+
'data-ui-id': 'audio-tile-permit-audio',
|
18497
|
+
ariaLabel: strings === null || strings === void 0 ? void 0 : strings.permitAudioTileMenuLabel
|
18498
|
+
});
|
18499
|
+
}
|
18500
|
+
/* @conditional-compile-remove(media-access) */
|
18501
|
+
if (participant.canAudioBeForbidden && ((_a = participant.mediaAccess) === null || _a === void 0 ? void 0 : _a.isAudioPermitted) && onForbidAudio) {
|
18502
|
+
items.push({
|
18503
|
+
key: 'forbidAudio',
|
18504
|
+
text: strings === null || strings === void 0 ? void 0 : strings.forbidAudioTileMenuLabel,
|
18505
|
+
iconProps: {
|
18506
|
+
iconName: 'ControlButtonMicProhibited',
|
18507
|
+
styles: { root: { lineHeight: 0 } }
|
18508
|
+
},
|
18509
|
+
onClick: () => onForbidAudio([participant.userId]),
|
18510
|
+
'data-ui-id': 'audio-tile-forbid-audio',
|
18511
|
+
ariaLabel: strings === null || strings === void 0 ? void 0 : strings.forbidAudioTileMenuLabel
|
18512
|
+
});
|
18513
|
+
}
|
18514
|
+
/* @conditional-compile-remove(media-access) */
|
18515
|
+
if (participant.canVideoBeForbidden &&
|
18516
|
+
participant.mediaAccess &&
|
18517
|
+
!participant.mediaAccess.isVideoPermitted &&
|
18518
|
+
onPermitVideo) {
|
18519
|
+
items.push({
|
18520
|
+
key: 'permitVideo',
|
18521
|
+
text: strings === null || strings === void 0 ? void 0 : strings.permitVideoTileMenuLabel,
|
18522
|
+
iconProps: {
|
18523
|
+
iconName: 'ControlButtonCameraOn',
|
18524
|
+
styles: { root: { lineHeight: 0 } }
|
18525
|
+
},
|
18526
|
+
onClick: () => onPermitVideo([participant.userId]),
|
18527
|
+
'data-ui-id': 'video-tile-permit-video',
|
18528
|
+
ariaLabel: strings === null || strings === void 0 ? void 0 : strings.permitVideoTileMenuLabel
|
18529
|
+
});
|
18530
|
+
}
|
18531
|
+
/* @conditional-compile-remove(media-access) */
|
18532
|
+
if (participant.canVideoBeForbidden && ((_b = participant.mediaAccess) === null || _b === void 0 ? void 0 : _b.isVideoPermitted) && onForbidVideo) {
|
18533
|
+
items.push({
|
18534
|
+
key: 'forbidVideo',
|
18535
|
+
text: strings === null || strings === void 0 ? void 0 : strings.forbidVideoTileMenuLabel,
|
18536
|
+
iconProps: {
|
18537
|
+
iconName: 'ControlButtonCameraProhibited',
|
18538
|
+
styles: { root: { lineHeight: 0 } }
|
18539
|
+
},
|
18540
|
+
onClick: () => onForbidVideo([participant.userId]),
|
18541
|
+
'data-ui-id': 'video-tile-forbid-video',
|
18542
|
+
ariaLabel: strings === null || strings === void 0 ? void 0 : strings.forbidVideoTileMenuLabel
|
18543
|
+
});
|
18544
|
+
}
|
18432
18545
|
if (isPinned !== undefined) {
|
18433
18546
|
if (isPinned && onUnpinParticipant && (strings === null || strings === void 0 ? void 0 : strings.unpinParticipantForMe)) {
|
18434
18547
|
let unpinActionString = undefined;
|
@@ -18554,25 +18667,39 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
18554
18667
|
}
|
18555
18668
|
return { items, styles: {}, calloutProps: { preventDismissOnEvent: _preventDismissOnEvent }, shouldFocusOnContainer: false };
|
18556
18669
|
}, [
|
18557
|
-
|
18670
|
+
onMuteParticipant,
|
18558
18671
|
strings,
|
18559
|
-
|
18560
|
-
isPinned,
|
18561
|
-
onPinParticipant,
|
18562
|
-
onUnpinParticipant,
|
18563
|
-
onUpdateScalingMode,
|
18672
|
+
participant.isMuted,
|
18564
18673
|
participant.userId,
|
18565
18674
|
participant.displayName,
|
18566
|
-
|
18567
|
-
toggleAnnouncerString,
|
18568
|
-
spotlightedParticipantUserIds,
|
18675
|
+
isPinned,
|
18569
18676
|
isSpotlighted,
|
18570
|
-
|
18677
|
+
scalingMode,
|
18678
|
+
onUnpinParticipant,
|
18679
|
+
onPinParticipant,
|
18680
|
+
toggleAnnouncerString,
|
18681
|
+
disablePinMenuItem,
|
18682
|
+
myUserId,
|
18571
18683
|
onStopSpotlight,
|
18684
|
+
spotlightedParticipantUserIds,
|
18572
18685
|
maxParticipantsToSpotlight,
|
18573
|
-
|
18574
|
-
|
18575
|
-
|
18686
|
+
onStartSpotlight,
|
18687
|
+
onUpdateScalingMode,
|
18688
|
+
view,
|
18689
|
+
/* @conditional-compile-remove(media-access) */
|
18690
|
+
participant.canAudioBeForbidden,
|
18691
|
+
/* @conditional-compile-remove(media-access) */
|
18692
|
+
participant.canVideoBeForbidden,
|
18693
|
+
/* @conditional-compile-remove(media-access) */
|
18694
|
+
participant.mediaAccess,
|
18695
|
+
/* @conditional-compile-remove(media-access) */
|
18696
|
+
onPermitAudio,
|
18697
|
+
/* @conditional-compile-remove(media-access) */
|
18698
|
+
onForbidAudio,
|
18699
|
+
/* @conditional-compile-remove(media-access) */
|
18700
|
+
onPermitVideo,
|
18701
|
+
/* @conditional-compile-remove(media-access) */
|
18702
|
+
onForbidVideo
|
18576
18703
|
]);
|
18577
18704
|
return contextualMenuProps;
|
18578
18705
|
};
|
@@ -18973,7 +19100,9 @@ const VideoTileMoreOptionsButton = (props) => {
|
|
18973
19100
|
* @public
|
18974
19101
|
*/
|
18975
19102
|
const VideoTile = (props) => {
|
18976
|
-
const { children, displayName, initialsName, isMirrored, isMuted, isSpotlighted, isPinned, onRenderPlaceholder, renderElement, overlay: reactionOverlay, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking, raisedHand, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX, contextualMenu
|
19103
|
+
const { children, displayName, initialsName, isMirrored, isMuted, isSpotlighted, isPinned, onRenderPlaceholder, renderElement, overlay: reactionOverlay, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking, raisedHand, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX, contextualMenu,
|
19104
|
+
/* @conditional-compile-remove(media-access) */
|
19105
|
+
mediaAccess } = props;
|
18977
19106
|
const [isHovered, setIsHovered] = React.useState(false);
|
18978
19107
|
const [isFocused, setIsFocused] = React.useState(false);
|
18979
19108
|
// need to set a default otherwise the resizeObserver will get stuck in an infinite loop.
|
@@ -19091,8 +19220,9 @@ const VideoTile = (props) => {
|
|
19091
19220
|
React.createElement(react.Stack, { horizontal: true, className: tileInfoStyle },
|
19092
19221
|
canShowLabel && (React.createElement(react.Text, { className: react.mergeStyles(displayNameStyle), title: displayName, style: { color: participantStateString ? theme.palette.neutralSecondary : 'inherit' }, "data-ui-id": "video-tile-display-name" }, displayName)),
|
19093
19222
|
participantStateString && (React.createElement(react.Text, { className: react.mergeStyles(participantStateStringStyles(theme)) }, bracketedParticipantString(participantStateString, !!canShowLabel))),
|
19094
|
-
showMuteIndicator
|
19095
|
-
|
19223
|
+
getMediaAccessIconsTrampoline(showMuteIndicator, isMuted,
|
19224
|
+
/* @conditional-compile-remove(media-access) */
|
19225
|
+
mediaAccess),
|
19096
19226
|
isSpotlighted && (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
|
19097
19227
|
React.createElement(react.Icon, { iconName: "VideoTileSpotlighted" }))),
|
19098
19228
|
isPinned && (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
|
@@ -19105,6 +19235,16 @@ const VideoTile = (props) => {
|
|
19105
19235
|
React.createElement(react.Stack.Item, null,
|
19106
19236
|
React.createElement(RaisedHandIcon, null)))))));
|
19107
19237
|
};
|
19238
|
+
const getMediaAccessIconsTrampoline = (showMuteIndicator, isMuted, mediaAccess) => {
|
19239
|
+
/* @conditional-compile-remove(media-access) */
|
19240
|
+
return (React.createElement(React.Fragment, null,
|
19241
|
+
mediaAccess && !(mediaAccess === null || mediaAccess === void 0 ? void 0 : mediaAccess.isVideoPermitted) ? (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
|
19242
|
+
React.createElement(react.Icon, { iconName: "ControlButtonCameraProhibitedSmall" }))) : undefined,
|
19243
|
+
(mediaAccess ? mediaAccess.isAudioPermitted : true) && showMuteIndicator && isMuted ? (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
|
19244
|
+
React.createElement(react.Icon, { iconName: "VideoTileMicOff" }))) : undefined,
|
19245
|
+
mediaAccess && !(mediaAccess === null || mediaAccess === void 0 ? void 0 : mediaAccess.isAudioPermitted) && showMuteIndicator ? (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
|
19246
|
+
React.createElement(react.Icon, { iconName: "ControlButtonMicProhibitedSmall" }))) : undefined));
|
19247
|
+
};
|
19108
19248
|
const getParticipantStateString = (props, locale) => {
|
19109
19249
|
const strings = Object.assign(Object.assign({}, locale.strings.videoTile), props.strings);
|
19110
19250
|
return props.participantState === 'EarlyMedia' || props.participantState === 'Ringing'
|
@@ -19806,7 +19946,15 @@ const MeetingReactionOverlay = (props) => {
|
|
19806
19946
|
const _RemoteVideoTile = React.memo((props) => {
|
19807
19947
|
var _a, _b;
|
19808
19948
|
const { isAvailable, isReceiving = true, // default to true to prevent any breaking change
|
19809
|
-
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState, menuKind, isPinned, onPinParticipant, onUnpinParticipant, spotlightedParticipantUserIds, isSpotlighted, onStartSpotlight, onStopSpotlight, maxParticipantsToSpotlight, onMuteParticipant, onUpdateScalingMode, disablePinMenuItem, toggleAnnouncerString, strings, reactionResources, streamId
|
19949
|
+
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState, menuKind, isPinned, onPinParticipant, onUnpinParticipant, spotlightedParticipantUserIds, isSpotlighted, onStartSpotlight, onStopSpotlight, maxParticipantsToSpotlight, onMuteParticipant, onUpdateScalingMode, disablePinMenuItem, toggleAnnouncerString, strings, reactionResources, streamId,
|
19950
|
+
/* @conditional-compile-remove(media-access) */
|
19951
|
+
onForbidAudio,
|
19952
|
+
/* @conditional-compile-remove(media-access) */
|
19953
|
+
onPermitAudio,
|
19954
|
+
/* @conditional-compile-remove(media-access) */
|
19955
|
+
onForbidVideo,
|
19956
|
+
/* @conditional-compile-remove(media-access) */
|
19957
|
+
onPermitVideo } = props;
|
19810
19958
|
const remoteVideoStreamProps = React.useMemo(() => ({
|
19811
19959
|
isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored,
|
19812
19960
|
isScreenSharingOn,
|
@@ -19817,7 +19965,9 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
19817
19965
|
remoteParticipantId: userId,
|
19818
19966
|
renderElementExists: !!renderElement,
|
19819
19967
|
scalingMode: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.scalingMode,
|
19820
|
-
streamId
|
19968
|
+
streamId,
|
19969
|
+
/* @conditional-compile-remove(media-access) */
|
19970
|
+
isVideoPermitted: remoteParticipant.mediaAccess ? remoteParticipant.mediaAccess.isVideoPermitted : true
|
19821
19971
|
}), [
|
19822
19972
|
isAvailable,
|
19823
19973
|
isReceiving,
|
@@ -19828,7 +19978,9 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
19828
19978
|
remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.scalingMode,
|
19829
19979
|
renderElement,
|
19830
19980
|
userId,
|
19831
|
-
streamId
|
19981
|
+
streamId,
|
19982
|
+
/* @conditional-compile-remove(media-access) */
|
19983
|
+
remoteParticipant.mediaAccess
|
19832
19984
|
]);
|
19833
19985
|
// Handle creating, destroying and updating the video stream as necessary
|
19834
19986
|
const createVideoStreamResult = useRemoteVideoStreamLifecycleMaintainer(remoteVideoStreamProps);
|
@@ -19847,7 +19999,11 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
19847
19999
|
onStartSpotlight,
|
19848
20000
|
onStopSpotlight,
|
19849
20001
|
maxParticipantsToSpotlight,
|
19850
|
-
onMuteParticipant
|
20002
|
+
onMuteParticipant,
|
20003
|
+
/* @conditional-compile-remove(media-access) */ onForbidAudio,
|
20004
|
+
/* @conditional-compile-remove(media-access) */ onPermitAudio,
|
20005
|
+
/* @conditional-compile-remove(media-access) */ onForbidVideo,
|
20006
|
+
/* @conditional-compile-remove(media-access) */ onPermitVideo
|
19851
20007
|
});
|
19852
20008
|
const videoTileContextualMenuProps = React.useMemo(() => {
|
19853
20009
|
if (menuKind !== 'contextual' || !contextualMenuProps) {
|
@@ -19892,7 +20048,9 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
19892
20048
|
return (React.createElement(react.Stack, { tabIndex: menuKind === 'drawer' ? 0 : undefined, onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined, style: remoteVideoTileWrapperStyle },
|
19893
20049
|
React.createElement(VideoTile, Object.assign({ key: userId, userId: userId, initialsName: (_b = formatInitialsName()) !== null && _b !== void 0 ? _b : '', renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted, raisedHand: remoteParticipant.raisedHand, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel, alwaysShowLabelBackground: props.alwaysShowLabelBackground, participantState: participantState }, videoTileContextualMenuProps, { isPinned: props.isPinned, onLongTouch: props.onLongTouch
|
19894
20050
|
? props.onLongTouch
|
19895
|
-
: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps$1(contextualMenuProps, () => setDrawerMenuItemProps([]))), isSpotlighted: isSpotlighted, overlay: reactionOverlay
|
20051
|
+
: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps$1(contextualMenuProps, () => setDrawerMenuItemProps([]))), isSpotlighted: isSpotlighted, overlay: reactionOverlay,
|
20052
|
+
/* @conditional-compile-remove(media-access) */
|
20053
|
+
mediaAccess: remoteParticipant.mediaAccess })),
|
19896
20054
|
drawerMenuItemProps.length > 0 && (React.createElement(react.Layer, { hostId: props.drawerMenuHostId },
|
19897
20055
|
React.createElement(react.Stack, { styles: drawerMenuWrapperStyles },
|
19898
20056
|
React.createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItemProps([]), items: drawerMenuItemProps, heading: displayName }))))));
|
@@ -19997,7 +20155,9 @@ const LocalScreenShare = React.memo((props) => {
|
|
19997
20155
|
? locale.strings.videoGallery.displayNamePlaceholder
|
19998
20156
|
: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName;
|
19999
20157
|
const loadingMessage = locale.strings.videoGallery.localScreenShareLoadingMessage;
|
20000
|
-
return (React.createElement(VideoTile, { displayName: displayName, isMuted: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.isMuted, renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isAvailable === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage })
|
20158
|
+
return (React.createElement(VideoTile, { displayName: displayName, isMuted: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.isMuted, renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isAvailable === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }),
|
20159
|
+
/* @conditional-compile-remove(media-access) */
|
20160
|
+
mediaAccess: localParticipant.mediaAccess }));
|
20001
20161
|
});
|
20002
20162
|
|
20003
20163
|
// Copyright (c) Microsoft Corporation.
|
@@ -20102,7 +20262,9 @@ const LocalVideoCameraCycleButton = (props) => {
|
|
20102
20262
|
* @internal
|
20103
20263
|
*/
|
20104
20264
|
const _LocalVideoTile = React.memo((props) => {
|
20105
|
-
const { isAvailable, isMuted, onCreateLocalStreamView, onDisposeLocalStreamView, localVideoViewOptions, renderElement, userId, showLabel, alwaysShowLabelBackground, displayName, initialsName, onRenderAvatar, showMuteIndicator, styles, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel, localVideoSelectedDescription, raisedHand, reaction, isSpotlighted, spotlightedParticipantUserIds, onStartSpotlight, onStopSpotlight, maxParticipantsToSpotlight, menuKind, strings, reactionResources, isScreenSharingOn
|
20265
|
+
const { isAvailable, isMuted, onCreateLocalStreamView, onDisposeLocalStreamView, localVideoViewOptions, renderElement, userId, showLabel, alwaysShowLabelBackground, displayName, initialsName, onRenderAvatar, showMuteIndicator, styles, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel, localVideoSelectedDescription, raisedHand, reaction, isSpotlighted, spotlightedParticipantUserIds, onStartSpotlight, onStopSpotlight, maxParticipantsToSpotlight, menuKind, strings, reactionResources, isScreenSharingOn,
|
20266
|
+
/* @conditional-compile-remove(media-access) */
|
20267
|
+
mediaAccess } = props;
|
20106
20268
|
const theme = useTheme();
|
20107
20269
|
const localVideoStreamProps = React.useMemo(() => ({
|
20108
20270
|
isMirrored: localVideoViewOptions === null || localVideoViewOptions === void 0 ? void 0 : localVideoViewOptions.isMirrored,
|
@@ -20110,14 +20272,18 @@ const _LocalVideoTile = React.memo((props) => {
|
|
20110
20272
|
onCreateLocalStreamView,
|
20111
20273
|
onDisposeLocalStreamView,
|
20112
20274
|
renderElementExists: !!renderElement,
|
20113
|
-
scalingMode: localVideoViewOptions === null || localVideoViewOptions === void 0 ? void 0 : localVideoViewOptions.scalingMode
|
20275
|
+
scalingMode: localVideoViewOptions === null || localVideoViewOptions === void 0 ? void 0 : localVideoViewOptions.scalingMode,
|
20276
|
+
/* @conditional-compile-remove(media-access) */
|
20277
|
+
isVideoPermitted: mediaAccess ? mediaAccess.isVideoPermitted : true
|
20114
20278
|
}), [
|
20115
20279
|
isAvailable,
|
20116
20280
|
localVideoViewOptions === null || localVideoViewOptions === void 0 ? void 0 : localVideoViewOptions.isMirrored,
|
20117
20281
|
localVideoViewOptions === null || localVideoViewOptions === void 0 ? void 0 : localVideoViewOptions.scalingMode,
|
20118
20282
|
onCreateLocalStreamView,
|
20119
20283
|
onDisposeLocalStreamView,
|
20120
|
-
renderElement
|
20284
|
+
renderElement,
|
20285
|
+
/* @conditional-compile-remove(media-access) */
|
20286
|
+
mediaAccess
|
20121
20287
|
]);
|
20122
20288
|
// Handle creating, destroying and updating the video stream as necessary
|
20123
20289
|
useLocalVideoStreamLifecycleMaintainer(localVideoStreamProps);
|
@@ -20188,7 +20354,8 @@ const _LocalVideoTile = React.memo((props) => {
|
|
20188
20354
|
React.createElement(react.Spinner, { label: strings === null || strings === void 0 ? void 0 : strings.waitingScreenText, ariaLive: "assertive", labelPosition: "bottom", role: "alert", styles: loadSpinnerStyles(theme, false) })));
|
20189
20355
|
}, [strings === null || strings === void 0 ? void 0 : strings.waitingScreenText, theme]);
|
20190
20356
|
return (React.createElement(react.Stack, { "data-ui-id": "local-video-tile", className: react.mergeStyles({ width: '100%', height: '100%' }), onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined },
|
20191
|
-
React.createElement(VideoTile, Object.assign({ key: userId !== null && userId !== void 0 ? userId : 'local-video-tile', userId: userId, renderElement: renderVideoStreamElement, showLabel: showLabel, alwaysShowLabelBackground: alwaysShowLabelBackground, displayName: displayName, initialsName: initialsName, styles: videoTileStyles, onRenderPlaceholder: props.participantsCount === 1 && !isScreenSharingOn ? onRenderAvatarOneParticipant : onRenderAvatar, isMuted: isMuted, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, raisedHand: raisedHand, isSpotlighted: isSpotlighted }, videoTileContextualMenuProps, { onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([]))), overlay: videoTileOverlay
|
20357
|
+
React.createElement(VideoTile, Object.assign({ key: userId !== null && userId !== void 0 ? userId : 'local-video-tile', userId: userId, renderElement: renderVideoStreamElement, showLabel: showLabel, alwaysShowLabelBackground: alwaysShowLabelBackground, displayName: displayName, initialsName: initialsName, styles: videoTileStyles, onRenderPlaceholder: props.participantsCount === 1 && !isScreenSharingOn ? onRenderAvatarOneParticipant : onRenderAvatar, isMuted: isMuted, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, raisedHand: raisedHand, isSpotlighted: isSpotlighted }, videoTileContextualMenuProps, { onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([]))), overlay: videoTileOverlay,
|
20358
|
+
/* @conditional-compile-remove(media-access) */ mediaAccess: mediaAccess }), drawerMenuItemProps.length > 0 && (React.createElement(react.Layer, { hostId: props.drawerMenuHostId },
|
20192
20359
|
React.createElement(react.Stack, { styles: drawerMenuWrapperStyles },
|
20193
20360
|
React.createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItemProps([]), items: drawerMenuItemProps })))))));
|
20194
20361
|
});
|
@@ -22176,7 +22343,15 @@ const MAX_PINNED_REMOTE_VIDEO_TILES$1 = 4;
|
|
22176
22343
|
*/
|
22177
22344
|
const VideoGallery = (props) => {
|
22178
22345
|
var _a, _b, _c, _d;
|
22179
|
-
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeLocalScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS, overflowGalleryPosition = 'horizontalBottom', localVideoTileSize = 'followDeviceOrientation', spotlightedParticipants, onStartLocalSpotlight, onStartRemoteSpotlight, onStopLocalSpotlight, onStopRemoteSpotlight, maxParticipantsToSpotlight, reactionResources, videoTilesOptions, onMuteParticipant
|
22346
|
+
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeLocalScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS, overflowGalleryPosition = 'horizontalBottom', localVideoTileSize = 'followDeviceOrientation', spotlightedParticipants, onStartLocalSpotlight, onStartRemoteSpotlight, onStopLocalSpotlight, onStopRemoteSpotlight, maxParticipantsToSpotlight, reactionResources, videoTilesOptions, onMuteParticipant,
|
22347
|
+
/* @conditional-compile-remove(media-access) */
|
22348
|
+
onForbidAudio,
|
22349
|
+
/* @conditional-compile-remove(media-access) */
|
22350
|
+
onPermitAudio,
|
22351
|
+
/* @conditional-compile-remove(media-access) */
|
22352
|
+
onForbidVideo,
|
22353
|
+
/* @conditional-compile-remove(media-access) */
|
22354
|
+
onPermitVideo } = props;
|
22180
22355
|
const ids = useIdentifiers();
|
22181
22356
|
const theme = useTheme();
|
22182
22357
|
const localeStrings = useLocale$1().strings.videoGallery;
|
@@ -22234,7 +22409,9 @@ const VideoGallery = (props) => {
|
|
22234
22409
|
return layout === 'default' ? strings.localVideoLabel : isNarrow ? '' : strings.localVideoLabel;
|
22235
22410
|
};
|
22236
22411
|
return (React.createElement(react.Stack, { styles: localVideoTileContainerStyles, key: "local-video-tile-key" },
|
22237
|
-
React.createElement(_LocalVideoTile, { alwaysShowLabelBackground: videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground, userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: showDisplayNameTrampoline(), initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: showLocalVideoTileLabel, showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles, raisedHand: localParticipant.raisedHand, reaction: localParticipant.reaction, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartLocalSpotlight, onStopSpotlight: onStopLocalSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, menuKind: remoteVideoTileMenu ? (remoteVideoTileMenu.kind === 'drawer' ? 'drawer' : 'contextual') : undefined, drawerMenuHostId: drawerMenuHostId, strings: strings, reactionResources: reactionResources, participantsCount: remoteParticipants.length + 1, isScreenSharingOn: localParticipant.isScreenSharingOn
|
22412
|
+
React.createElement(_LocalVideoTile, { alwaysShowLabelBackground: videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground, userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: showDisplayNameTrampoline(), initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: showLocalVideoTileLabel, showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles, raisedHand: localParticipant.raisedHand, reaction: localParticipant.reaction, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartLocalSpotlight, onStopSpotlight: onStopLocalSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, menuKind: remoteVideoTileMenu ? (remoteVideoTileMenu.kind === 'drawer' ? 'drawer' : 'contextual') : undefined, drawerMenuHostId: drawerMenuHostId, strings: strings, reactionResources: reactionResources, participantsCount: remoteParticipants.length + 1, isScreenSharingOn: localParticipant.isScreenSharingOn,
|
22413
|
+
/* @conditional-compile-remove(media-access) */
|
22414
|
+
mediaAccess: localParticipant.mediaAccess })));
|
22238
22415
|
}, [
|
22239
22416
|
isNarrow,
|
22240
22417
|
localParticipant,
|
@@ -22314,30 +22491,46 @@ const VideoGallery = (props) => {
|
|
22314
22491
|
? remoteVideoTileMenu.kind === 'drawer'
|
22315
22492
|
? 'drawer'
|
22316
22493
|
: 'contextual'
|
22317
|
-
: undefined, drawerMenuHostId: drawerMenuHostId, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, onUpdateScalingMode: onUpdateScalingMode, isPinned: isPinned, disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES$1, toggleAnnouncerString: toggleAnnouncerString, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartRemoteSpotlight, onStopSpotlight: onStopRemoteSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, reactionResources: reactionResources, onMuteParticipant: onMuteParticipant
|
22494
|
+
: undefined, drawerMenuHostId: drawerMenuHostId, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, onUpdateScalingMode: onUpdateScalingMode, isPinned: isPinned, disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES$1, toggleAnnouncerString: toggleAnnouncerString, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartRemoteSpotlight, onStopSpotlight: onStopRemoteSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, reactionResources: reactionResources, onMuteParticipant: onMuteParticipant,
|
22495
|
+
/* @conditional-compile-remove(media-access) */
|
22496
|
+
onForbidAudio: onForbidAudio,
|
22497
|
+
/* @conditional-compile-remove(media-access) */
|
22498
|
+
onPermitAudio: onPermitAudio,
|
22499
|
+
/* @conditional-compile-remove(media-access) */
|
22500
|
+
onForbidVideo: onForbidVideo,
|
22501
|
+
/* @conditional-compile-remove(media-access) */
|
22502
|
+
onPermitVideo: onPermitVideo }));
|
22318
22503
|
}, [
|
22504
|
+
selectedScalingModeState,
|
22505
|
+
pinnedParticipants,
|
22506
|
+
videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground,
|
22319
22507
|
onCreateRemoteStreamView,
|
22320
22508
|
onDisposeRemoteVideoStreamView,
|
22321
|
-
remoteVideoViewOptions,
|
22322
|
-
localParticipant,
|
22323
22509
|
onRenderAvatar,
|
22324
22510
|
showMuteIndicator,
|
22325
22511
|
strings,
|
22326
|
-
|
22512
|
+
localParticipant.userId,
|
22327
22513
|
remoteVideoTileMenu,
|
22328
|
-
|
22329
|
-
pinnedParticipants,
|
22514
|
+
drawerMenuHostId,
|
22330
22515
|
onPinParticipant,
|
22331
22516
|
onUnpinParticipant,
|
22332
|
-
toggleAnnouncerString,
|
22333
22517
|
onUpdateScalingMode,
|
22518
|
+
toggleAnnouncerString,
|
22334
22519
|
spotlightedParticipants,
|
22335
22520
|
onStartRemoteSpotlight,
|
22336
22521
|
onStopRemoteSpotlight,
|
22337
22522
|
maxParticipantsToSpotlight,
|
22338
|
-
onMuteParticipant,
|
22339
22523
|
reactionResources,
|
22340
|
-
|
22524
|
+
onMuteParticipant,
|
22525
|
+
/* @conditional-compile-remove(media-access) */
|
22526
|
+
onForbidAudio,
|
22527
|
+
/* @conditional-compile-remove(media-access) */
|
22528
|
+
onPermitAudio,
|
22529
|
+
/* @conditional-compile-remove(media-access) */
|
22530
|
+
onForbidVideo,
|
22531
|
+
/* @conditional-compile-remove(media-access) */
|
22532
|
+
onPermitVideo,
|
22533
|
+
remoteVideoViewOptions
|
22341
22534
|
]);
|
22342
22535
|
const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
|
22343
22536
|
const localScreenShareStreamComponent = (React.createElement(LocalScreenShare, { localParticipant: localParticipant, renderElement: (_a = localParticipant.screenShareStream) === null || _a === void 0 ? void 0 : _a.renderElement, isAvailable: (_b = localParticipant.screenShareStream) === null || _b === void 0 ? void 0 : _b.isAvailable, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalScreenShareStreamView: onDisposeLocalScreenShareStreamView }));
|
@@ -26520,31 +26713,17 @@ const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAttendeeN
|
|
26520
26713
|
const displayName = maskDisplayNameWithRole(participant.displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);
|
26521
26714
|
const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);
|
26522
26715
|
const spotlight = participant.spotlight;
|
26523
|
-
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand, participant.contentSharingStream, remoteParticipantReaction, spotlight,
|
26716
|
+
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand, participant.contentSharingStream, remoteParticipantReaction, spotlight, participant.mediaAccess, participant.role,
|
26524
26717
|
/* @conditional-compile-remove(remote-ufd) */
|
26525
|
-
Math.max(((_c = (_b = (_a = participant.diagnostics) === null || _a === void 0 ? void 0 : _a.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 0), ((_f = (_e = (_d = participant.diagnostics) === null || _d === void 0 ? void 0 : _d.networkSendQuality) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : 0))
|
26526
|
-
/* @conditional-compile-remove(media-access) */
|
26527
|
-
participant.mediaAccess,
|
26528
|
-
/* @conditional-compile-remove(media-access) */
|
26529
|
-
participant.role);
|
26718
|
+
Math.max(((_c = (_b = (_a = participant.diagnostics) === null || _a === void 0 ? void 0 : _a.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 0), ((_f = (_e = (_d = participant.diagnostics) === null || _d === void 0 ? void 0 : _d.networkSendQuality) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : 0)));
|
26530
26719
|
}));
|
26531
26720
|
});
|
26532
26721
|
};
|
26533
|
-
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight,
|
26534
|
-
|
26535
|
-
signalStrength, mediaAccess, role) => {
|
26536
|
-
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight,
|
26537
|
-
/* @conditional-compile-remove(remote-ufd) */
|
26538
|
-
signalStrength,
|
26539
|
-
/* @conditional-compile-remove(media-access) */
|
26540
|
-
mediaAccess,
|
26541
|
-
/* @conditional-compile-remove(media-access) */
|
26542
|
-
role);
|
26722
|
+
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight, mediaAccess, role, signalStrength) => {
|
26723
|
+
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight, signalStrength, mediaAccess, role);
|
26543
26724
|
});
|
26544
26725
|
/** @private */
|
26545
|
-
const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight,
|
26546
|
-
/* @conditional-compile-remove(remote-ufd) */
|
26547
|
-
signalStrength, mediaAccess, role) => {
|
26726
|
+
const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight, signalStrength, mediaAccess, role) => {
|
26548
26727
|
const rawVideoStreamsArray = Object.values(videoStreams);
|
26549
26728
|
let videoStream = undefined;
|
26550
26729
|
let screenShareStream = undefined;
|
@@ -26580,12 +26759,13 @@ signalStrength, mediaAccess, role) => {
|
|
26580
26759
|
raisedHand,
|
26581
26760
|
reaction,
|
26582
26761
|
spotlight,
|
26583
|
-
/* @conditional-compile-remove(remote-ufd) */
|
26584
|
-
signalStrength,
|
26585
|
-
/* @conditional-compile-remove(media-access) */
|
26586
26762
|
mediaAccess,
|
26587
26763
|
/* @conditional-compile-remove(media-access) */
|
26588
|
-
role
|
26764
|
+
canAudioBeForbidden: role === 'Attendee',
|
26765
|
+
/* @conditional-compile-remove(media-access) */
|
26766
|
+
canVideoBeForbidden: role === 'Attendee',
|
26767
|
+
/* @conditional-compile-remove(remote-ufd) */
|
26768
|
+
signalStrength
|
26589
26769
|
};
|
26590
26770
|
};
|
26591
26771
|
const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
|
@@ -26632,8 +26812,8 @@ const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, is
|
|
26632
26812
|
capabilities,
|
26633
26813
|
/* @conditional-compile-remove(media-access) */
|
26634
26814
|
mediaAccess: {
|
26635
|
-
isAudioPermitted: capabilities === null || capabilities === void 0 ? void 0 : capabilities.unmuteMic.isPresent,
|
26636
|
-
isVideoPermitted: capabilities === null || capabilities === void 0 ? void 0 : capabilities.turnVideoOn.isPresent
|
26815
|
+
isAudioPermitted: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.unmuteMic) ? capabilities.unmuteMic.isPresent : true,
|
26816
|
+
isVideoPermitted: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.turnVideoOn) ? capabilities.turnVideoOn.isPresent : true
|
26637
26817
|
}
|
26638
26818
|
});
|
26639
26819
|
});
|
@@ -26797,8 +26977,8 @@ capabilities) => {
|
|
26797
26977
|
spotlight: memoizedSpotlight(spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants, userId),
|
26798
26978
|
/* @conditional-compile-remove(media-access) */
|
26799
26979
|
mediaAccess: {
|
26800
|
-
isAudioPermitted: capabilities ? capabilities.unmuteMic.isPresent : true,
|
26801
|
-
isVideoPermitted: capabilities ? capabilities.turnVideoOn.isPresent : true
|
26980
|
+
isAudioPermitted: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.unmuteMic) ? capabilities.unmuteMic.isPresent : true,
|
26981
|
+
isVideoPermitted: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.turnVideoOn) ? capabilities.turnVideoOn.isPresent : true
|
26802
26982
|
}
|
26803
26983
|
});
|
26804
26984
|
/* @conditional-compile-remove(total-participant-count) */
|
@@ -30980,7 +31160,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
30980
31160
|
/**
|
30981
31161
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
30982
31162
|
*/
|
30983
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
31163
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CPU8bZEb.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
30984
31164
|
/**
|
30985
31165
|
* @private
|
30986
31166
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -30988,7 +31168,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
30988
31168
|
*
|
30989
31169
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
30990
31170
|
*/
|
30991
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
31171
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CPU8bZEb.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
30992
31172
|
/**
|
30993
31173
|
* @private
|
30994
31174
|
*/
|
@@ -31904,7 +32084,7 @@ const memoizeState = memoizeOne((userId, deviceManager, calls, latestErrors, lat
|
|
31904
32084
|
callAgent: { displayName },
|
31905
32085
|
calls,
|
31906
32086
|
latestErrors,
|
31907
|
-
/* @conditional-compile-remove(breakout-rooms) */
|
32087
|
+
/* @conditional-compile-remove(breakout-rooms) */ /* @conditional-compile-remove(media-access) */
|
31908
32088
|
latestNotifications: latestNotifications !== null && latestNotifications !== void 0 ? latestNotifications : {},
|
31909
32089
|
alternateCallerId,
|
31910
32090
|
environmentInfo
|
@@ -32747,6 +32927,9 @@ const getAlternateCallerId = (state) => state.alternateCallerId;
|
|
32747
32927
|
const getIsRoomsCall = (state) => state.isRoomsCall;
|
32748
32928
|
/** @private */
|
32749
32929
|
const getVideoBackgroundImages = (state) => state.videoBackgroundImages;
|
32930
|
+
/* @conditional-compile-remove(media-access) */
|
32931
|
+
/** @private */
|
32932
|
+
const getMediaAccessSetting = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.meetingMediaAccess; };
|
32750
32933
|
|
32751
32934
|
// Copyright (c) Microsoft Corporation.
|
32752
32935
|
// Licensed under the MIT License.
|
@@ -32771,6 +32954,7 @@ _component) => {
|
|
32771
32954
|
return createCompositeHandlers(adapter, capabilities);
|
32772
32955
|
};
|
32773
32956
|
const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
32957
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
32774
32958
|
return {
|
32775
32959
|
onCreateLocalStreamView: (options) => __awaiter$q(void 0, void 0, void 0, function* () {
|
32776
32960
|
return yield adapter.createStreamView(undefined, options);
|
@@ -32782,8 +32966,8 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
32782
32966
|
yield adapter.leaveCall(forEveryone);
|
32783
32967
|
}),
|
32784
32968
|
onToggleHold: () => __awaiter$q(void 0, void 0, void 0, function* () {
|
32785
|
-
var
|
32786
|
-
return ((
|
32969
|
+
var _j;
|
32970
|
+
return ((_j = adapter.getState().call) === null || _j === void 0 ? void 0 : _j.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
|
32787
32971
|
}),
|
32788
32972
|
onAddParticipant: (participant, options) => __awaiter$q(void 0, void 0, void 0, function* () {
|
32789
32973
|
if ('communicationUserId' in participant) {
|
@@ -32811,8 +32995,8 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
32811
32995
|
yield adapter.lowerHand();
|
32812
32996
|
}),
|
32813
32997
|
onToggleRaiseHand: () => __awaiter$q(void 0, void 0, void 0, function* () {
|
32814
|
-
var
|
32815
|
-
((
|
32998
|
+
var _k;
|
32999
|
+
((_k = adapter.getState().call) === null || _k === void 0 ? void 0 : _k.raiseHand.localParticipantRaisedHand)
|
32816
33000
|
? yield adapter.lowerHand()
|
32817
33001
|
: yield adapter.raiseHand();
|
32818
33002
|
}),
|
@@ -32842,12 +33026,12 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
32842
33026
|
isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
|
32843
33027
|
}),
|
32844
33028
|
onToggleMicrophone: () => __awaiter$q(void 0, void 0, void 0, function* () {
|
32845
|
-
var
|
32846
|
-
return ((
|
33029
|
+
var _l;
|
33030
|
+
return ((_l = adapter.getState().call) === null || _l === void 0 ? void 0 : _l.isMuted) ? yield adapter.unmute() : yield adapter.mute();
|
32847
33031
|
}),
|
32848
33032
|
onToggleScreenShare: () => __awaiter$q(void 0, void 0, void 0, function* () {
|
32849
|
-
var
|
32850
|
-
return ((
|
33033
|
+
var _m;
|
33034
|
+
return ((_m = adapter.getState().call) === null || _m === void 0 ? void 0 : _m.isScreenSharingOn)
|
32851
33035
|
? yield adapter.stopScreenShare()
|
32852
33036
|
: yield adapter.startScreenShare();
|
32853
33037
|
}),
|
@@ -32940,6 +33124,54 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
32940
33124
|
onMuteAllRemoteParticipants: () => __awaiter$q(void 0, void 0, void 0, function* () {
|
32941
33125
|
yield adapter.muteAllRemoteParticipants();
|
32942
33126
|
}),
|
33127
|
+
/* @conditional-compile-remove(media-access) */
|
33128
|
+
onForbidAudio: ((_a = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersAudio) === null || _a === void 0 ? void 0 : _a.isPresent)
|
33129
|
+
? (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
|
33130
|
+
yield adapter.forbidAudio(userIds);
|
33131
|
+
})
|
33132
|
+
: undefined,
|
33133
|
+
/* @conditional-compile-remove(media-access) */
|
33134
|
+
onPermitAudio: ((_b = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersAudio) === null || _b === void 0 ? void 0 : _b.isPresent)
|
33135
|
+
? (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
|
33136
|
+
yield adapter.permitAudio(userIds);
|
33137
|
+
})
|
33138
|
+
: undefined,
|
33139
|
+
/* @conditional-compile-remove(media-access) */
|
33140
|
+
onForbidOthersAudio: ((_c = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersAudio) === null || _c === void 0 ? void 0 : _c.isPresent)
|
33141
|
+
? () => __awaiter$q(void 0, void 0, void 0, function* () {
|
33142
|
+
yield adapter.forbidOthersAudio();
|
33143
|
+
})
|
33144
|
+
: undefined,
|
33145
|
+
/* @conditional-compile-remove(media-access) */
|
33146
|
+
onPermitOthersAudio: ((_d = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersAudio) === null || _d === void 0 ? void 0 : _d.isPresent)
|
33147
|
+
? () => __awaiter$q(void 0, void 0, void 0, function* () {
|
33148
|
+
yield adapter.permitOthersAudio();
|
33149
|
+
})
|
33150
|
+
: undefined,
|
33151
|
+
/* @conditional-compile-remove(media-access) */
|
33152
|
+
onForbidVideo: ((_e = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersVideo) === null || _e === void 0 ? void 0 : _e.isPresent)
|
33153
|
+
? (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
|
33154
|
+
yield adapter.forbidVideo(userIds);
|
33155
|
+
})
|
33156
|
+
: undefined,
|
33157
|
+
/* @conditional-compile-remove(media-access) */
|
33158
|
+
onPermitVideo: ((_f = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersVideo) === null || _f === void 0 ? void 0 : _f.isPresent)
|
33159
|
+
? (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
|
33160
|
+
yield adapter.permitVideo(userIds);
|
33161
|
+
})
|
33162
|
+
: undefined,
|
33163
|
+
/* @conditional-compile-remove(media-access) */
|
33164
|
+
onForbidOthersVideo: ((_g = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersVideo) === null || _g === void 0 ? void 0 : _g.isPresent)
|
33165
|
+
? () => __awaiter$q(void 0, void 0, void 0, function* () {
|
33166
|
+
yield adapter.forbidOthersVideo();
|
33167
|
+
})
|
33168
|
+
: undefined,
|
33169
|
+
/* @conditional-compile-remove(media-access) */
|
33170
|
+
onPermitOthersVideo: ((_h = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersVideo) === null || _h === void 0 ? void 0 : _h.isPresent)
|
33171
|
+
? () => __awaiter$q(void 0, void 0, void 0, function* () {
|
33172
|
+
yield adapter.permitOthersVideo();
|
33173
|
+
})
|
33174
|
+
: undefined,
|
32943
33175
|
/* @conditional-compile-remove(together-mode) */
|
32944
33176
|
onCreateTogetherModeStreamView: (options) => __awaiter$q(void 0, void 0, void 0, function* () {
|
32945
33177
|
return yield adapter.createTogetherModeStreamView(options);
|
@@ -36536,7 +36768,25 @@ const canRemoveParticipants = (role) => {
|
|
36536
36768
|
const PEOPLE_SIDE_PANE_ID = 'people';
|
36537
36769
|
/** @private */
|
36538
36770
|
const usePeoplePane = (props) => {
|
36539
|
-
const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight, onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem, onMuteAllRemoteParticipants
|
36771
|
+
const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight, onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem, onMuteAllRemoteParticipants,
|
36772
|
+
/* @conditional-compile-remove(media-access) */
|
36773
|
+
onForbidAudio,
|
36774
|
+
/* @conditional-compile-remove(media-access) */
|
36775
|
+
onPermitAudio,
|
36776
|
+
/* @conditional-compile-remove(media-access) */
|
36777
|
+
onForbidOthersAudio,
|
36778
|
+
/* @conditional-compile-remove(media-access) */
|
36779
|
+
onPermitOthersAudio,
|
36780
|
+
/* @conditional-compile-remove(media-access) */
|
36781
|
+
onForbidVideo,
|
36782
|
+
/* @conditional-compile-remove(media-access) */
|
36783
|
+
onPermitVideo,
|
36784
|
+
/* @conditional-compile-remove(media-access) */
|
36785
|
+
onForbidOthersVideo,
|
36786
|
+
/* @conditional-compile-remove(media-access) */
|
36787
|
+
onPermitOthersVideo,
|
36788
|
+
/* @conditional-compile-remove(media-access) */
|
36789
|
+
meetingMediaAccess } = props;
|
36540
36790
|
const closePane = React.useCallback(() => {
|
36541
36791
|
var _a;
|
36542
36792
|
updateSidePaneRenderer(undefined);
|
@@ -36560,6 +36810,34 @@ const usePeoplePane = (props) => {
|
|
36560
36810
|
onMuteAllRemoteParticipants && onMuteAllRemoteParticipants();
|
36561
36811
|
setShowMuteAllPrompt(false);
|
36562
36812
|
}, [onMuteAllRemoteParticipants, setShowMuteAllPrompt]);
|
36813
|
+
/* @conditional-compile-remove(media-access) */
|
36814
|
+
const [showForbidOthersAudioPrompt, setShowForbidOthersAudioPrompt] = React.useState(false);
|
36815
|
+
/* @conditional-compile-remove(media-access) */
|
36816
|
+
const [showPermitOthersAudioPrompt, setShowPermitOthersAudioPrompt] = React.useState(false);
|
36817
|
+
/* @conditional-compile-remove(media-access) */
|
36818
|
+
const [showForbidOthersVideoPrompt, setShowForbidOthersVideoPrompt] = React.useState(false);
|
36819
|
+
/* @conditional-compile-remove(media-access) */
|
36820
|
+
const [showPermitOthersVideoPrompt, setShowPermitOthersVideoPrompt] = React.useState(false);
|
36821
|
+
/* @conditional-compile-remove(media-access) */
|
36822
|
+
const onForbidAllAttendeesPromptConfirm = React.useCallback(() => {
|
36823
|
+
onForbidOthersAudio && onForbidOthersAudio();
|
36824
|
+
setShowForbidOthersAudioPrompt(false);
|
36825
|
+
}, [onForbidOthersAudio, setShowForbidOthersAudioPrompt]);
|
36826
|
+
/* @conditional-compile-remove(media-access) */
|
36827
|
+
const onPermitAllAttendeesPromptConfirm = React.useCallback(() => {
|
36828
|
+
onPermitOthersAudio && onPermitOthersAudio();
|
36829
|
+
setShowPermitOthersAudioPrompt(false);
|
36830
|
+
}, [onPermitOthersAudio, setShowPermitOthersAudioPrompt]);
|
36831
|
+
/* @conditional-compile-remove(media-access) */
|
36832
|
+
const onForbidOthersVideoPromptConfirm = React.useCallback(() => {
|
36833
|
+
onForbidOthersVideo && onForbidOthersVideo();
|
36834
|
+
setShowForbidOthersVideoPrompt(false);
|
36835
|
+
}, [onForbidOthersVideo, setShowForbidOthersVideoPrompt]);
|
36836
|
+
/* @conditional-compile-remove(media-access) */
|
36837
|
+
const onPermitOthersVideoPromptConfirm = React.useCallback(() => {
|
36838
|
+
onPermitOthersVideo && onPermitOthersVideo();
|
36839
|
+
setShowPermitOthersVideoPrompt(false);
|
36840
|
+
}, [onPermitOthersVideo, setShowPermitOthersVideoPrompt]);
|
36563
36841
|
const sidePaneHeaderMenuProps = React.useMemo(() => {
|
36564
36842
|
const menuItems = [];
|
36565
36843
|
if (onMuteAllRemoteParticipants && remoteParticipants) {
|
@@ -36587,6 +36865,97 @@ const usePeoplePane = (props) => {
|
|
36587
36865
|
disabled: isAllMuted
|
36588
36866
|
});
|
36589
36867
|
}
|
36868
|
+
/* @conditional-compile-remove(media-access) */
|
36869
|
+
let hasAttendee = false;
|
36870
|
+
/* @conditional-compile-remove(media-access) */
|
36871
|
+
if (remoteParticipants) {
|
36872
|
+
for (const participant of Object.values(remoteParticipants)) {
|
36873
|
+
if (participant.role && participant.role === 'Attendee') {
|
36874
|
+
hasAttendee = true;
|
36875
|
+
break;
|
36876
|
+
}
|
36877
|
+
}
|
36878
|
+
}
|
36879
|
+
/* @conditional-compile-remove(media-access) */
|
36880
|
+
const isMeetingAudioPermitted = meetingMediaAccess ? meetingMediaAccess.isAudioPermitted : true;
|
36881
|
+
/* @conditional-compile-remove(media-access) */
|
36882
|
+
const isMeetingVideoPermitted = meetingMediaAccess ? meetingMediaAccess.isVideoPermitted : true;
|
36883
|
+
/* @conditional-compile-remove(media-access) */
|
36884
|
+
if (onForbidOthersAudio && remoteParticipants) {
|
36885
|
+
hasAttendee &&
|
36886
|
+
isMeetingAudioPermitted &&
|
36887
|
+
menuItems.push({
|
36888
|
+
['data-ui-id']: 'people-pane-forbid-all-attendees-audio',
|
36889
|
+
key: 'forbidOthersAudio',
|
36890
|
+
text: localeStrings.forbidOthersAudioMenuLabel,
|
36891
|
+
iconProps: {
|
36892
|
+
iconName: 'ControlButtonMicProhibited',
|
36893
|
+
styles: { root: { lineHeight: 0 } }
|
36894
|
+
},
|
36895
|
+
onClick: () => {
|
36896
|
+
setShowForbidOthersAudioPrompt(true);
|
36897
|
+
},
|
36898
|
+
ariaLabel: localeStrings.forbidOthersAudioMenuLabel,
|
36899
|
+
disabled: !hasAttendee
|
36900
|
+
});
|
36901
|
+
}
|
36902
|
+
/* @conditional-compile-remove(media-access) */
|
36903
|
+
if (onPermitOthersAudio && remoteParticipants) {
|
36904
|
+
hasAttendee &&
|
36905
|
+
!isMeetingAudioPermitted &&
|
36906
|
+
menuItems.push({
|
36907
|
+
['data-ui-id']: 'people-pane-permit-all-attendees-audio',
|
36908
|
+
key: 'permitOthersAudio',
|
36909
|
+
text: localeStrings.permitOthersAudioMenuLabel,
|
36910
|
+
iconProps: {
|
36911
|
+
iconName: 'ControlButtonMicOn',
|
36912
|
+
styles: { root: { lineHeight: 0 } }
|
36913
|
+
},
|
36914
|
+
onClick: () => {
|
36915
|
+
setShowPermitOthersAudioPrompt(true);
|
36916
|
+
},
|
36917
|
+
ariaLabel: localeStrings.permitOthersAudioMenuLabel,
|
36918
|
+
disabled: !hasAttendee
|
36919
|
+
});
|
36920
|
+
}
|
36921
|
+
/* @conditional-compile-remove(media-access) */
|
36922
|
+
if (onForbidOthersVideo && remoteParticipants) {
|
36923
|
+
hasAttendee &&
|
36924
|
+
isMeetingVideoPermitted &&
|
36925
|
+
menuItems.push({
|
36926
|
+
['data-ui-id']: 'people-pane-forbid-all-attendees-video',
|
36927
|
+
key: 'forbidOthersVideo',
|
36928
|
+
text: localeStrings.forbidOthersVideoMenuLabel,
|
36929
|
+
iconProps: {
|
36930
|
+
iconName: 'ControlButtonCameraProhibitedSmall',
|
36931
|
+
styles: { root: { lineHeight: 0 } }
|
36932
|
+
},
|
36933
|
+
onClick: () => {
|
36934
|
+
setShowForbidOthersVideoPrompt(true);
|
36935
|
+
},
|
36936
|
+
ariaLabel: localeStrings.forbidOthersVideoMenuLabel,
|
36937
|
+
disabled: !hasAttendee
|
36938
|
+
});
|
36939
|
+
}
|
36940
|
+
/* @conditional-compile-remove(media-access) */
|
36941
|
+
if (onPermitOthersVideo && remoteParticipants) {
|
36942
|
+
hasAttendee &&
|
36943
|
+
!isMeetingVideoPermitted &&
|
36944
|
+
menuItems.push({
|
36945
|
+
['data-ui-id']: 'people-pane-permit-all-attendees-video',
|
36946
|
+
key: 'permitOthersVideo',
|
36947
|
+
text: localeStrings.permitOthersVideoMenuLabel,
|
36948
|
+
iconProps: {
|
36949
|
+
iconName: 'ControlButtonCameraOn',
|
36950
|
+
styles: { root: { lineHeight: 0 } }
|
36951
|
+
},
|
36952
|
+
onClick: () => {
|
36953
|
+
setShowPermitOthersVideoPrompt(true);
|
36954
|
+
},
|
36955
|
+
ariaLabel: localeStrings.permitOthersVideoMenuLabel,
|
36956
|
+
disabled: !hasAttendee
|
36957
|
+
});
|
36958
|
+
}
|
36590
36959
|
if (onStopAllSpotlight && spotlightedParticipantUserIds && spotlightedParticipantUserIds.length > 0) {
|
36591
36960
|
menuItems.push({
|
36592
36961
|
key: 'stopAllSpotlightKey',
|
@@ -36602,16 +36971,30 @@ const usePeoplePane = (props) => {
|
|
36602
36971
|
items: menuItems
|
36603
36972
|
};
|
36604
36973
|
}, [
|
36974
|
+
onMuteAllRemoteParticipants,
|
36975
|
+
remoteParticipants,
|
36976
|
+
/* @conditional-compile-remove(media-access) */
|
36977
|
+
meetingMediaAccess,
|
36978
|
+
/* @conditional-compile-remove(media-access) */
|
36979
|
+
onForbidOthersAudio,
|
36980
|
+
/* @conditional-compile-remove(media-access) */
|
36981
|
+
onPermitOthersAudio,
|
36982
|
+
/* @conditional-compile-remove(media-access) */
|
36983
|
+
onForbidOthersVideo,
|
36984
|
+
/* @conditional-compile-remove(media-access) */
|
36985
|
+
onPermitOthersVideo,
|
36605
36986
|
onStopAllSpotlight,
|
36606
36987
|
spotlightedParticipantUserIds,
|
36607
|
-
localeStrings.stopAllSpotlightMenuLabel,
|
36608
36988
|
localeStrings.muteAllMenuLabel,
|
36609
|
-
|
36610
|
-
|
36611
|
-
|
36989
|
+
localeStrings.forbidOthersAudioMenuLabel,
|
36990
|
+
localeStrings.permitOthersAudioMenuLabel,
|
36991
|
+
localeStrings.forbidOthersVideoMenuLabel,
|
36992
|
+
localeStrings.permitOthersVideoMenuLabel,
|
36993
|
+
localeStrings.stopAllSpotlightMenuLabel
|
36612
36994
|
]);
|
36613
36995
|
const onRenderHeader = React.useCallback(() => (React.createElement(SidePaneHeader, { onClose: closePane, headingText: localeStrings.peoplePaneTitle, dismissSidePaneButtonAriaLabel: localeStrings.dismissSidePaneButtonLabel, mobileView: mobileView !== null && mobileView !== void 0 ? mobileView : false })), [mobileView, closePane, localeStrings]);
|
36614
36996
|
const onFetchParticipantMenuItemsForCallComposite = React.useCallback((participantId, myUserId, defaultMenuItems) => {
|
36997
|
+
var _a, _b;
|
36615
36998
|
let isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participantId);
|
36616
36999
|
const _defaultMenuItems = [];
|
36617
37000
|
const isSpotlighted = spotlightedParticipantUserIds === null || spotlightedParticipantUserIds === void 0 ? void 0 : spotlightedParticipantUserIds.includes(participantId);
|
@@ -36635,6 +37018,78 @@ const usePeoplePane = (props) => {
|
|
36635
37018
|
disabled: isMuted
|
36636
37019
|
});
|
36637
37020
|
}
|
37021
|
+
/* @conditional-compile-remove(media-access) */
|
37022
|
+
const remoteParticipant = remoteParticipants === null || remoteParticipants === void 0 ? void 0 : remoteParticipants[participantId];
|
37023
|
+
/* @conditional-compile-remove(media-access) */
|
37024
|
+
if ((remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.mediaAccess) &&
|
37025
|
+
!remoteParticipant.mediaAccess.isAudioPermitted &&
|
37026
|
+
(remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.role) === 'Attendee' &&
|
37027
|
+
onPermitAudio) {
|
37028
|
+
_defaultMenuItems.push({
|
37029
|
+
key: 'permit-audio',
|
37030
|
+
text: localeStrings.permitAudioMenuLabel,
|
37031
|
+
iconProps: {
|
37032
|
+
iconName: 'ControlButtonMicOn',
|
37033
|
+
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
37034
|
+
},
|
37035
|
+
onClick: () => {
|
37036
|
+
onPermitAudio([participantId]);
|
37037
|
+
},
|
37038
|
+
'data-ui-id': 'participant-item-permit-microphone-button',
|
37039
|
+
ariaLabel: localeStrings.permitAudioMenuLabel
|
37040
|
+
});
|
37041
|
+
}
|
37042
|
+
/* @conditional-compile-remove(media-access) */
|
37043
|
+
if (((_a = remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.mediaAccess) === null || _a === void 0 ? void 0 : _a.isAudioPermitted) && (remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.role) === 'Attendee' && onForbidAudio) {
|
37044
|
+
_defaultMenuItems.push({
|
37045
|
+
key: 'forbid-audio',
|
37046
|
+
text: localeStrings.forbidAudioMenuLabel,
|
37047
|
+
iconProps: {
|
37048
|
+
iconName: 'ControlButtonMicProhibited',
|
37049
|
+
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
37050
|
+
},
|
37051
|
+
onClick: () => {
|
37052
|
+
onForbidAudio([participantId]);
|
37053
|
+
},
|
37054
|
+
'data-ui-id': 'participant-item-forbid-microphone-button',
|
37055
|
+
ariaLabel: localeStrings.forbidAudioMenuLabel
|
37056
|
+
});
|
37057
|
+
}
|
37058
|
+
/* @conditional-compile-remove(media-access) */
|
37059
|
+
if ((remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.mediaAccess) &&
|
37060
|
+
!remoteParticipant.mediaAccess.isVideoPermitted &&
|
37061
|
+
(remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.role) === 'Attendee' &&
|
37062
|
+
onPermitVideo) {
|
37063
|
+
_defaultMenuItems.push({
|
37064
|
+
key: 'permit-video',
|
37065
|
+
text: localeStrings.permitVideoMenuLabel,
|
37066
|
+
iconProps: {
|
37067
|
+
iconName: 'ControlButtonCameraOn',
|
37068
|
+
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
37069
|
+
},
|
37070
|
+
onClick: () => {
|
37071
|
+
onPermitVideo([participantId]);
|
37072
|
+
},
|
37073
|
+
'data-ui-id': 'participant-item-permit-camera-button',
|
37074
|
+
ariaLabel: localeStrings.permitVideoMenuLabel
|
37075
|
+
});
|
37076
|
+
}
|
37077
|
+
/* @conditional-compile-remove(media-access) */
|
37078
|
+
if (((_b = remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.mediaAccess) === null || _b === void 0 ? void 0 : _b.isVideoPermitted) && (remoteParticipant === null || remoteParticipant === void 0 ? void 0 : remoteParticipant.role) === 'Attendee' && onForbidVideo) {
|
37079
|
+
_defaultMenuItems.push({
|
37080
|
+
key: 'forbid-video',
|
37081
|
+
text: localeStrings.forbidVideoMenuLabel,
|
37082
|
+
iconProps: {
|
37083
|
+
iconName: 'ControlButtonCameraProhibitedSmall',
|
37084
|
+
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
37085
|
+
},
|
37086
|
+
onClick: () => {
|
37087
|
+
onForbidVideo([participantId]);
|
37088
|
+
},
|
37089
|
+
'data-ui-id': 'participant-item-forbid-camera-button',
|
37090
|
+
ariaLabel: localeStrings.forbidVideoMenuLabel
|
37091
|
+
});
|
37092
|
+
}
|
36638
37093
|
if (isSpotlighted) {
|
36639
37094
|
const stopSpotlightMenuText = isMe
|
36640
37095
|
? localeStrings.stopSpotlightOnSelfMenuLabel
|
@@ -36732,51 +37187,90 @@ const usePeoplePane = (props) => {
|
|
36732
37187
|
? onFetchParticipantMenuItems(participantId, myUserId, _defaultMenuItems)
|
36733
37188
|
: _defaultMenuItems;
|
36734
37189
|
}, [
|
37190
|
+
pinnedParticipants,
|
36735
37191
|
spotlightedParticipantUserIds,
|
36736
|
-
onStartLocalSpotlight,
|
36737
|
-
onStopLocalSpotlight,
|
36738
|
-
onStartRemoteSpotlight,
|
36739
|
-
onStopRemoteSpotlight,
|
36740
|
-
onFetchParticipantMenuItems,
|
36741
37192
|
onMuteParticipant,
|
36742
37193
|
remoteParticipants,
|
36743
|
-
|
37194
|
+
onPermitAudio,
|
37195
|
+
onForbidAudio,
|
37196
|
+
onPermitVideo,
|
37197
|
+
onForbidVideo,
|
37198
|
+
onFetchParticipantMenuItems,
|
37199
|
+
localeStrings.permitAudioMenuLabel,
|
37200
|
+
localeStrings.forbidAudioMenuLabel,
|
37201
|
+
localeStrings.permitVideoMenuLabel,
|
37202
|
+
localeStrings.forbidVideoMenuLabel,
|
36744
37203
|
localeStrings.stopSpotlightOnSelfMenuLabel,
|
37204
|
+
localeStrings.stopSpotlightMenuLabel,
|
36745
37205
|
localeStrings.addSpotlightMenuLabel,
|
36746
37206
|
localeStrings.startSpotlightMenuLabel,
|
36747
37207
|
localeStrings.spotlightLimitReachedMenuTitle,
|
36748
|
-
|
36749
|
-
pinnedParticipants,
|
36750
|
-
onPinParticipant,
|
36751
|
-
onUnpinParticipant,
|
36752
|
-
disablePinMenuItem,
|
37208
|
+
localeStrings === null || localeStrings === void 0 ? void 0 : localeStrings.unpinParticipantMenuLabel,
|
36753
37209
|
localeStrings.pinParticipantMenuLabel,
|
36754
|
-
localeStrings.pinParticipantLimitReachedMenuLabel,
|
36755
|
-
localeStrings.unpinParticipantMenuLabel,
|
36756
37210
|
localeStrings.unpinParticipantMenuItemAriaLabel,
|
36757
|
-
localeStrings.
|
37211
|
+
localeStrings.pinParticipantLimitReachedMenuLabel,
|
37212
|
+
localeStrings.pinParticipantMenuItemAriaLabel,
|
37213
|
+
onStopLocalSpotlight,
|
37214
|
+
onStopRemoteSpotlight,
|
37215
|
+
maxParticipantsToSpotlight,
|
37216
|
+
onStartLocalSpotlight,
|
37217
|
+
onStartRemoteSpotlight,
|
37218
|
+
onUnpinParticipant,
|
37219
|
+
onPinParticipant,
|
37220
|
+
disablePinMenuItem
|
36758
37221
|
]);
|
36759
37222
|
const role = useSelector$1(getRole);
|
36760
37223
|
const alternateCallerId = useSelector$1(getAlternateCallerId);
|
36761
37224
|
const onRenderContent = React.useCallback(() => {
|
36762
37225
|
return (React.createElement(React.Fragment, null,
|
36763
37226
|
React.createElement(Prompt, Object.assign({}, muteAllPromptLabels, { styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onMuteAllPromptConfirm(), isOpen: showMuteAllPrompt, onCancel: () => setShowMuteAllPrompt(false) })),
|
37227
|
+
/* @conditional-compile-remove(media-access) */
|
37228
|
+
React.createElement(Prompt, { heading: localeStrings.forbidOthersAudioDialogTitle, text: localeStrings.forbidOthersAudioDialogContent, confirmButtonLabel: localeStrings.forbidOthersAudioConfirmButtonLabel, cancelButtonLabel: localeStrings.forbidOthersAudioCancelButtonLabel, styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onForbidAllAttendeesPromptConfirm(), isOpen: showForbidOthersAudioPrompt, onCancel: () => setShowForbidOthersAudioPrompt(false) }),
|
37229
|
+
/* @conditional-compile-remove(media-access) */
|
37230
|
+
React.createElement(Prompt, { heading: localeStrings.permitOthersAudioDialogTitle, text: localeStrings.permitOthersAudioDialogContent, confirmButtonLabel: localeStrings.permitOthersAudioConfirmButtonLabel, cancelButtonLabel: localeStrings.permitOthersAudioCancelButtonLabel, styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onPermitAllAttendeesPromptConfirm(), isOpen: showPermitOthersAudioPrompt, onCancel: () => setShowForbidOthersAudioPrompt(false) }),
|
37231
|
+
/* @conditional-compile-remove(media-access) */
|
37232
|
+
React.createElement(Prompt, { heading: localeStrings.forbidOthersVideoDialogTitle, text: localeStrings.forbidOthersVideoDialogContent, confirmButtonLabel: localeStrings.forbidOthersVideoConfirmButtonLabel, cancelButtonLabel: localeStrings.forbidOthersVideoCancelButtonLabel, styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onForbidOthersVideoPromptConfirm(), isOpen: showForbidOthersVideoPrompt, onCancel: () => setShowForbidOthersVideoPrompt(false) }),
|
37233
|
+
/* @conditional-compile-remove(media-access) */
|
37234
|
+
React.createElement(Prompt, { heading: localeStrings.permitOthersVideoDialogTitle, text: localeStrings.permitOthersVideoDialogContent, confirmButtonLabel: localeStrings.permitOthersVideoConfirmButtonLabel, cancelButtonLabel: localeStrings.permitOthersVideoCancelButtonLabel, styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onPermitOthersVideoPromptConfirm(), isOpen: showPermitOthersVideoPrompt, onCancel: () => setShowForbidOthersVideoPrompt(false) }),
|
36764
37235
|
React.createElement(PeoplePaneContent, { inviteLink: inviteLink, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems: setDrawerMenuItems, mobileView: mobileView, setParticipantActioned: setParticipantActioned, participantListHeadingMoreButtonProps: sidePaneHeaderMenuProps, pinnedParticipants: pinnedParticipants, role: role, alternateCallerId: alternateCallerId })));
|
36765
37236
|
}, [
|
37237
|
+
muteAllPromptLabels,
|
37238
|
+
showMuteAllPrompt,
|
37239
|
+
localeStrings.forbidOthersAudioDialogTitle,
|
37240
|
+
localeStrings.forbidOthersAudioDialogContent,
|
37241
|
+
localeStrings.forbidOthersAudioConfirmButtonLabel,
|
37242
|
+
localeStrings.forbidOthersAudioCancelButtonLabel,
|
37243
|
+
localeStrings.permitOthersAudioDialogTitle,
|
37244
|
+
localeStrings.permitOthersAudioDialogContent,
|
37245
|
+
localeStrings.permitOthersAudioConfirmButtonLabel,
|
37246
|
+
localeStrings.permitOthersAudioCancelButtonLabel,
|
37247
|
+
localeStrings.forbidOthersVideoDialogTitle,
|
37248
|
+
localeStrings.forbidOthersVideoDialogContent,
|
37249
|
+
localeStrings.forbidOthersVideoConfirmButtonLabel,
|
37250
|
+
localeStrings.forbidOthersVideoCancelButtonLabel,
|
37251
|
+
localeStrings.permitOthersVideoDialogTitle,
|
37252
|
+
localeStrings.permitOthersVideoDialogContent,
|
37253
|
+
localeStrings.permitOthersVideoConfirmButtonLabel,
|
37254
|
+
localeStrings.permitOthersVideoCancelButtonLabel,
|
37255
|
+
showForbidOthersAudioPrompt,
|
37256
|
+
showPermitOthersAudioPrompt,
|
37257
|
+
showForbidOthersVideoPrompt,
|
37258
|
+
showPermitOthersVideoPrompt,
|
36766
37259
|
inviteLink,
|
36767
|
-
mobileView,
|
36768
37260
|
onFetchAvatarPersonaData,
|
36769
37261
|
onFetchParticipantMenuItemsForCallComposite,
|
36770
37262
|
setDrawerMenuItems,
|
37263
|
+
mobileView,
|
36771
37264
|
setParticipantActioned,
|
36772
37265
|
sidePaneHeaderMenuProps,
|
36773
37266
|
pinnedParticipants,
|
36774
37267
|
role,
|
36775
37268
|
alternateCallerId,
|
36776
|
-
|
36777
|
-
|
36778
|
-
|
36779
|
-
|
37269
|
+
onMuteAllPromptConfirm,
|
37270
|
+
onForbidAllAttendeesPromptConfirm,
|
37271
|
+
onPermitAllAttendeesPromptConfirm,
|
37272
|
+
onForbidOthersVideoPromptConfirm,
|
37273
|
+
onPermitOthersVideoPromptConfirm
|
36780
37274
|
]);
|
36781
37275
|
const sidePaneRenderer = React.useMemo(() => ({
|
36782
37276
|
headerRenderer: onRenderHeader,
|
@@ -37470,22 +37964,14 @@ const CapabilitiesChangedNotificationBar = (props) => {
|
|
37470
37964
|
})));
|
37471
37965
|
};
|
37472
37966
|
const getCapabilityChangedNotificationString = (notification, strings) => {
|
37473
|
-
var
|
37967
|
+
var _e, _f, _g, _h;
|
37474
37968
|
switch (notification.capabilityName) {
|
37475
37969
|
case 'turnVideoOn':
|
37476
|
-
|
37477
|
-
|
37478
|
-
? (_a = strings === null || strings === void 0 ? void 0 : strings.turnVideoOn) === null || _a === void 0 ? void 0 : _a.grantedDueToMeetingOption
|
37479
|
-
: (_b = strings === null || strings === void 0 ? void 0 : strings.turnVideoOn) === null || _b === void 0 ? void 0 : _b.lostDueToMeetingOption;
|
37480
|
-
}
|
37481
|
-
break;
|
37970
|
+
/* @conditional-compile-remove(media-access) */
|
37971
|
+
return undefined;
|
37482
37972
|
case 'unmuteMic':
|
37483
|
-
|
37484
|
-
|
37485
|
-
? (_c = strings === null || strings === void 0 ? void 0 : strings.unmuteMic) === null || _c === void 0 ? void 0 : _c.grantedDueToMeetingOption
|
37486
|
-
: (_d = strings === null || strings === void 0 ? void 0 : strings.unmuteMic) === null || _d === void 0 ? void 0 : _d.lostDueToMeetingOption;
|
37487
|
-
}
|
37488
|
-
break;
|
37973
|
+
/* @conditional-compile-remove(media-access) */
|
37974
|
+
return undefined;
|
37489
37975
|
case 'shareScreen':
|
37490
37976
|
if (notification.isPresent && notification.changedReason === 'RoleChanged' && notification.role === 'Presenter') {
|
37491
37977
|
return (_e = strings === null || strings === void 0 ? void 0 : strings.shareScreen) === null || _e === void 0 ? void 0 : _e.grantedDueToRoleChangeToPresenter;
|
@@ -37814,7 +38300,7 @@ const MAX_PINNED_REMOTE_VIDEO_TILES = 4;
|
|
37814
38300
|
* @private
|
37815
38301
|
*/
|
37816
38302
|
const CallArrangement = (props) => {
|
37817
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
38303
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
37818
38304
|
const containerClassName = React.useMemo(() => {
|
37819
38305
|
return props.mobileView ? containerStyleMobile : containerStyleDesktop;
|
37820
38306
|
}, [props.mobileView]);
|
@@ -37872,7 +38358,15 @@ const CallArrangement = (props) => {
|
|
37872
38358
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
37873
38359
|
const muteAllHandlers = useHandlers();
|
37874
38360
|
const { setPromptProps, setIsPromptOpen, hideSpotlightButtons } = props;
|
37875
|
-
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onMuteParticipant, spotlightedParticipants, maxParticipantsToSpotlight, localParticipant
|
38361
|
+
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onMuteParticipant, spotlightedParticipants, maxParticipantsToSpotlight, localParticipant,
|
38362
|
+
/* @conditional-compile-remove(media-access) */
|
38363
|
+
onForbidAudio,
|
38364
|
+
/* @conditional-compile-remove(media-access) */
|
38365
|
+
onPermitAudio,
|
38366
|
+
/* @conditional-compile-remove(media-access) */
|
38367
|
+
onForbidVideo,
|
38368
|
+
/* @conditional-compile-remove(media-access) */
|
38369
|
+
onPermitVideo } = videoGalleryProps;
|
37876
38370
|
const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = React.useState(false);
|
37877
38371
|
const toggleTeamsMeetingConferenceModal = React.useCallback(() => {
|
37878
38372
|
setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);
|
@@ -37946,7 +38440,39 @@ const CallArrangement = (props) => {
|
|
37946
38440
|
stopAllSpotlightWithPrompt,
|
37947
38441
|
spotlightedParticipants
|
37948
38442
|
]);
|
37949
|
-
|
38443
|
+
/* @conditional-compile-remove(media-access) */
|
38444
|
+
const meetingMediaAccess = useSelector$1(getMediaAccessSetting);
|
38445
|
+
/* @conditional-compile-remove(media-access) */
|
38446
|
+
const canForbidOthersAudio = !!((_b = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersAudio) === null || _b === void 0 ? void 0 : _b.isPresent);
|
38447
|
+
/* @conditional-compile-remove(media-access) */
|
38448
|
+
const canForbidOthersVideo = !!((_c = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersVideo) === null || _c === void 0 ? void 0 : _c.isPresent);
|
38449
|
+
/* @conditional-compile-remove(media-access) */
|
38450
|
+
const onToggleParticipantMicPeoplePaneProps = React.useMemo(() => {
|
38451
|
+
return {
|
38452
|
+
onForbidAudio: canForbidOthersAudio ? onForbidAudio : undefined,
|
38453
|
+
onPermitAudio: canForbidOthersAudio ? onPermitAudio : undefined,
|
38454
|
+
onForbidOthersAudio: canForbidOthersAudio ? muteAllHandlers.onForbidOthersAudio : undefined,
|
38455
|
+
onPermitOthersAudio: canForbidOthersAudio ? muteAllHandlers.onPermitOthersAudio : undefined,
|
38456
|
+
onForbidVideo: canForbidOthersVideo ? onForbidVideo : undefined,
|
38457
|
+
onPermitVideo: canForbidOthersVideo ? onPermitVideo : undefined,
|
38458
|
+
onForbidOthersVideo: canForbidOthersVideo ? muteAllHandlers.onForbidOthersVideo : undefined,
|
38459
|
+
onPermitOthersVideo: canForbidOthersVideo ? muteAllHandlers.onPermitOthersVideo : undefined,
|
38460
|
+
meetingMediaAccess
|
38461
|
+
};
|
38462
|
+
}, [
|
38463
|
+
canForbidOthersAudio,
|
38464
|
+
onForbidAudio,
|
38465
|
+
onPermitAudio,
|
38466
|
+
muteAllHandlers.onForbidOthersAudio,
|
38467
|
+
muteAllHandlers.onPermitOthersAudio,
|
38468
|
+
muteAllHandlers.onForbidOthersVideo,
|
38469
|
+
muteAllHandlers.onPermitOthersVideo,
|
38470
|
+
canForbidOthersVideo,
|
38471
|
+
onForbidVideo,
|
38472
|
+
onPermitVideo,
|
38473
|
+
meetingMediaAccess
|
38474
|
+
]);
|
38475
|
+
const { isPeoplePaneOpen, openPeoplePane, closePeoplePane } = usePeoplePane(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, peoplePaneProps), spotlightPeoplePaneProps), onMuteParticipantPeoplePaneProps), pinPeoplePaneProps), onToggleParticipantMicPeoplePaneProps));
|
37950
38476
|
const togglePeoplePane = React.useCallback(() => {
|
37951
38477
|
if (isPeoplePaneOpen) {
|
37952
38478
|
closePeoplePane();
|
@@ -38022,7 +38548,7 @@ const CallArrangement = (props) => {
|
|
38022
38548
|
const galleryContainerStyles = React.useMemo(() => {
|
38023
38549
|
var _a;
|
38024
38550
|
return Object.assign(Object.assign({}, mediaGalleryContainerStyles$1), (((_a = props === null || props === void 0 ? void 0 : props.captionsOptions) === null || _a === void 0 ? void 0 : _a.height) === 'full' ? { root: { postion: 'absolute' } } : {}));
|
38025
|
-
}, [(
|
38551
|
+
}, [(_d = props === null || props === void 0 ? void 0 : props.captionsOptions) === null || _d === void 0 ? void 0 : _d.height]);
|
38026
38552
|
if (isTeamsMeeting) {
|
38027
38553
|
filteredLatestErrorNotifications
|
38028
38554
|
.filter((notification) => notification.type === 'teamsMeetingCallNetworkQualityLow')
|
@@ -38035,8 +38561,8 @@ const CallArrangement = (props) => {
|
|
38035
38561
|
const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;
|
38036
38562
|
// Filter out shareScreen capability notifications if on mobile
|
38037
38563
|
const filteredCapabilitesChangedNotifications = props.mobileView
|
38038
|
-
? (
|
38039
|
-
: (
|
38564
|
+
? (_e = props.capabilitiesChangedNotificationBarProps) === null || _e === void 0 ? void 0 : _e.capabilitiesChangedNotifications.filter((notification) => notification.capabilityName !== 'shareScreen')
|
38565
|
+
: (_f = props.capabilitiesChangedNotificationBarProps) === null || _f === void 0 ? void 0 : _f.capabilitiesChangedNotifications;
|
38040
38566
|
/* @conditional-compile-remove(breakout-rooms) */
|
38041
38567
|
const notificationStackStrings = useCompositeStringsForNotificationStackStrings(locale);
|
38042
38568
|
let latestNotifications = props.latestNotifications;
|
@@ -38050,11 +38576,11 @@ const CallArrangement = (props) => {
|
|
38050
38576
|
return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
|
38051
38577
|
React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
38052
38578
|
React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
|
38053
|
-
((
|
38579
|
+
((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && !isMobileWithActivePane && (React.createElement(react.Stack, { verticalAlign: 'center', className: react.mergeStyles({
|
38054
38580
|
zIndex: CONTROL_BAR_Z_INDEX,
|
38055
38581
|
padding: verticalControlBar ? '0.25rem' : 'unset'
|
38056
|
-
}) }, isLegacyCallControlEnabled((
|
38057
|
-
((
|
38582
|
+
}) }, isLegacyCallControlEnabled((_h = props.callControlProps) === null || _h === void 0 ? void 0 : _h.options) ? (React.createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, displayVertical: verticalControlBar }))) : (React.createElement(CommonCallControlBar, Object.assign({}, props.callControlProps, { ref: controlBarRef, callControls: props.callControlProps.options, callAdapter: adapter, mobileView: props.mobileView, disableButtonsForLobbyPage: isInLobby, disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) || hasJoinedCall, useTeamsCaptions: useTeamsCaptions, isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef, onStopLocalSpotlight: !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined, onToggleTeamsMeetingConferenceModal: toggleTeamsMeetingConferenceModal, teamsMeetingConferenceModalPresent: showTeamsMeetingConferenceModal }))))),
|
38583
|
+
((_j = props.callControlProps) === null || _j === void 0 ? void 0 : _j.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
|
38058
38584
|
React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked, disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) || hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, dtmfDialerOptions: props.dtmfDialerOptions, reactionResources: reactionResources, onClickMeetingPhoneInfo: onMeetingPhoneInfoClicked }))),
|
38059
38585
|
React.createElement(react.Stack, { horizontal: true, grow: true },
|
38060
38586
|
React.createElement(react.Stack.Item, { style: callCompositeContainerCSS },
|
@@ -38077,7 +38603,7 @@ const CallArrangement = (props) => {
|
|
38077
38603
|
React.createElement(SidePane, { mobileView: props.mobileView, maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, minWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)
|
38078
38604
|
? undefined
|
38079
38605
|
: togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
|
38080
|
-
isDisabled$4((
|
38606
|
+
isDisabled$4((_k = props.callControlProps.options) === null || _k === void 0 ? void 0 : _k.participantsButton), onChatButtonClicked: (_l = props.mobileChatTabHeader) === null || _l === void 0 ? void 0 : _l.onClick, disableChatButton: (_m = props.mobileChatTabHeader) === null || _m === void 0 ? void 0 : _m.disabled, showAddPeopleButton: !!props.callControlProps.callInvitationURL, ariaLabel: isVideoEffectsPaneOpen ? locale.strings.call.videoEffectsPaneAriaLabel : undefined }),
|
38081
38607
|
props.mobileView && (React.createElement(ModalLocalAndRemotePIP, { modalLayerHostId: props.modalLayerHostId, hidden: !isSidePaneOpen, styles: pipStyles, strings: modalStrings, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition, onDismissSidePane: () => {
|
38082
38608
|
closePeoplePane();
|
38083
38609
|
if (props.onCloseChatPane) {
|
@@ -41774,6 +42300,14 @@ class AzureCommunicationCallAdapter {
|
|
41774
42300
|
this.stopAllSpotlight.bind(this);
|
41775
42301
|
this.muteParticipant.bind(this);
|
41776
42302
|
this.muteAllRemoteParticipants.bind(this);
|
42303
|
+
/* @conditional-compile-remove(media-access) */
|
42304
|
+
this.forbidOthersAudio.bind(this);
|
42305
|
+
/* @conditional-compile-remove(media-access) */
|
42306
|
+
this.permitOthersAudio.bind(this);
|
42307
|
+
/* @conditional-compile-remove(media-access) */
|
42308
|
+
this.forbidOthersAudio.bind(this);
|
42309
|
+
/* @conditional-compile-remove(media-access) */
|
42310
|
+
this.permitOthersAudio.bind(this);
|
41777
42311
|
}
|
41778
42312
|
dispose() {
|
41779
42313
|
this.resetDiagnosticsForwarder();
|
@@ -42303,6 +42837,62 @@ class AzureCommunicationCallAdapter {
|
|
42303
42837
|
this.handlers.onStopAllSpotlight();
|
42304
42838
|
});
|
42305
42839
|
}
|
42840
|
+
/* @conditional-compile-remove(media-access) */
|
42841
|
+
forbidAudio(userIds) {
|
42842
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42843
|
+
var _a, _b;
|
42844
|
+
(_b = (_a = this.handlers).onForbidAudio) === null || _b === void 0 ? void 0 : _b.call(_a, userIds);
|
42845
|
+
});
|
42846
|
+
}
|
42847
|
+
/* @conditional-compile-remove(media-access) */
|
42848
|
+
permitAudio(userIds) {
|
42849
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42850
|
+
var _a, _b;
|
42851
|
+
(_b = (_a = this.handlers).onPermitAudio) === null || _b === void 0 ? void 0 : _b.call(_a, userIds);
|
42852
|
+
});
|
42853
|
+
}
|
42854
|
+
/* @conditional-compile-remove(media-access) */
|
42855
|
+
forbidOthersAudio() {
|
42856
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42857
|
+
var _a, _b;
|
42858
|
+
(_b = (_a = this.handlers).onForbidOthersAudio) === null || _b === void 0 ? void 0 : _b.call(_a);
|
42859
|
+
});
|
42860
|
+
}
|
42861
|
+
/* @conditional-compile-remove(media-access) */
|
42862
|
+
permitOthersAudio() {
|
42863
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42864
|
+
var _a, _b;
|
42865
|
+
(_b = (_a = this.handlers).onPermitOthersAudio) === null || _b === void 0 ? void 0 : _b.call(_a);
|
42866
|
+
});
|
42867
|
+
}
|
42868
|
+
/* @conditional-compile-remove(media-access) */
|
42869
|
+
forbidVideo(userIds) {
|
42870
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42871
|
+
var _a, _b;
|
42872
|
+
(_b = (_a = this.handlers).onForbidVideo) === null || _b === void 0 ? void 0 : _b.call(_a, userIds);
|
42873
|
+
});
|
42874
|
+
}
|
42875
|
+
/* @conditional-compile-remove(media-access) */
|
42876
|
+
permitVideo(userIds) {
|
42877
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42878
|
+
var _a, _b;
|
42879
|
+
(_b = (_a = this.handlers).onPermitVideo) === null || _b === void 0 ? void 0 : _b.call(_a, userIds);
|
42880
|
+
});
|
42881
|
+
}
|
42882
|
+
/* @conditional-compile-remove(media-access) */
|
42883
|
+
forbidOthersVideo() {
|
42884
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42885
|
+
var _a, _b;
|
42886
|
+
(_b = (_a = this.handlers).onForbidOthersVideo) === null || _b === void 0 ? void 0 : _b.call(_a);
|
42887
|
+
});
|
42888
|
+
}
|
42889
|
+
/* @conditional-compile-remove(media-access) */
|
42890
|
+
permitOthersVideo() {
|
42891
|
+
return __awaiter$7(this, void 0, void 0, function* () {
|
42892
|
+
var _a, _b;
|
42893
|
+
(_b = (_a = this.handlers).onPermitOthersVideo) === null || _b === void 0 ? void 0 : _b.call(_a);
|
42894
|
+
});
|
42895
|
+
}
|
42306
42896
|
/* @conditional-compile-remove(breakout-rooms) */
|
42307
42897
|
returnFromBreakoutRoom() {
|
42308
42898
|
return __awaiter$7(this, void 0, void 0, function* () {
|
@@ -42475,20 +43065,18 @@ class AzureCommunicationCallAdapter {
|
|
42475
43065
|
transferAccepted(args) {
|
42476
43066
|
this.emitter.emit('transferAccepted', args);
|
42477
43067
|
}
|
43068
|
+
capabilitiesChangedunmuteMicTrampoline(data) {
|
43069
|
+
/* @conditional-compile-remove(media-access) */
|
43070
|
+
return;
|
43071
|
+
}
|
42478
43072
|
capabilitiesChanged(data) {
|
42479
|
-
var _a, _b
|
43073
|
+
var _a, _b;
|
42480
43074
|
if (((_a = data.newValue.turnVideoOn) === null || _a === void 0 ? void 0 : _a.isPresent) === false) {
|
42481
|
-
//
|
42482
|
-
// the call state is on hold.
|
42483
|
-
if (((_b = this.call) === null || _b === void 0 ? void 0 : _b.state) !== 'LocalHold' && ((_c = this.call) === null || _c === void 0 ? void 0 : _c.state) !== 'RemoteHold') {
|
42484
|
-
this.stopCamera();
|
42485
|
-
}
|
43075
|
+
// stopCamera is handled by web sdk when video hard muted.
|
42486
43076
|
this.disposeLocalVideoStreamView();
|
42487
43077
|
}
|
42488
|
-
|
42489
|
-
|
42490
|
-
}
|
42491
|
-
if (((_e = data.newValue.shareScreen) === null || _e === void 0 ? void 0 : _e.isPresent) === false) {
|
43078
|
+
this.capabilitiesChangedunmuteMicTrampoline(data);
|
43079
|
+
if (((_b = data.newValue.shareScreen) === null || _b === void 0 ? void 0 : _b.isPresent) === false) {
|
42492
43080
|
this.stopScreenShare();
|
42493
43081
|
}
|
42494
43082
|
this.emitter.emit('capabilitiesChanged', data);
|
@@ -43194,6 +43782,54 @@ class CallWithChatBackedCallAdapter {
|
|
43194
43782
|
return this.callWithChatAdapter.returnFromBreakoutRoom();
|
43195
43783
|
});
|
43196
43784
|
}
|
43785
|
+
/* @conditional-compile-remove(media-access) */
|
43786
|
+
forbidAudio(userIds) {
|
43787
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43788
|
+
return this.callWithChatAdapter.forbidAudio(userIds);
|
43789
|
+
});
|
43790
|
+
}
|
43791
|
+
/* @conditional-compile-remove(media-access) */
|
43792
|
+
permitAudio(userIds) {
|
43793
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43794
|
+
return this.callWithChatAdapter.permitAudio(userIds);
|
43795
|
+
});
|
43796
|
+
}
|
43797
|
+
/* @conditional-compile-remove(media-access) */
|
43798
|
+
forbidOthersAudio() {
|
43799
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43800
|
+
return this.callWithChatAdapter.forbidOthersAudio();
|
43801
|
+
});
|
43802
|
+
}
|
43803
|
+
/* @conditional-compile-remove(media-access) */
|
43804
|
+
permitOthersAudio() {
|
43805
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43806
|
+
return this.callWithChatAdapter.permitOthersAudio();
|
43807
|
+
});
|
43808
|
+
}
|
43809
|
+
/* @conditional-compile-remove(media-access) */
|
43810
|
+
forbidVideo(userIds) {
|
43811
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43812
|
+
return this.callWithChatAdapter.forbidAudio(userIds);
|
43813
|
+
});
|
43814
|
+
}
|
43815
|
+
/* @conditional-compile-remove(media-access) */
|
43816
|
+
permitVideo(userIds) {
|
43817
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43818
|
+
return this.callWithChatAdapter.permitAudio(userIds);
|
43819
|
+
});
|
43820
|
+
}
|
43821
|
+
/* @conditional-compile-remove(media-access) */
|
43822
|
+
forbidOthersVideo() {
|
43823
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43824
|
+
return this.callWithChatAdapter.forbidOthersAudio();
|
43825
|
+
});
|
43826
|
+
}
|
43827
|
+
/* @conditional-compile-remove(media-access) */
|
43828
|
+
permitOthersVideo() {
|
43829
|
+
return __awaiter$6(this, void 0, void 0, function* () {
|
43830
|
+
return this.callWithChatAdapter.permitOthersAudio();
|
43831
|
+
});
|
43832
|
+
}
|
43197
43833
|
}
|
43198
43834
|
function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
|
43199
43835
|
return {
|
@@ -44476,6 +45112,54 @@ class AzureCommunicationCallWithChatAdapter {
|
|
44476
45112
|
}
|
44477
45113
|
});
|
44478
45114
|
}
|
45115
|
+
/* @conditional-compile-remove(media-access) */
|
45116
|
+
forbidAudio(userIds) {
|
45117
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45118
|
+
return this.callAdapter.forbidAudio(userIds);
|
45119
|
+
});
|
45120
|
+
}
|
45121
|
+
/* @conditional-compile-remove(media-access) */
|
45122
|
+
permitAudio(userIds) {
|
45123
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45124
|
+
return this.callAdapter.permitAudio(userIds);
|
45125
|
+
});
|
45126
|
+
}
|
45127
|
+
/* @conditional-compile-remove(media-access) */
|
45128
|
+
forbidOthersAudio() {
|
45129
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45130
|
+
return this.callAdapter.forbidOthersAudio();
|
45131
|
+
});
|
45132
|
+
}
|
45133
|
+
/* @conditional-compile-remove(media-access) */
|
45134
|
+
permitOthersAudio() {
|
45135
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45136
|
+
return this.callAdapter.permitOthersAudio();
|
45137
|
+
});
|
45138
|
+
}
|
45139
|
+
/* @conditional-compile-remove(media-access) */
|
45140
|
+
forbidVideo(userIds) {
|
45141
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45142
|
+
return this.callAdapter.forbidVideo(userIds);
|
45143
|
+
});
|
45144
|
+
}
|
45145
|
+
/* @conditional-compile-remove(media-access) */
|
45146
|
+
permitVideo(userIds) {
|
45147
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45148
|
+
return this.callAdapter.permitVideo(userIds);
|
45149
|
+
});
|
45150
|
+
}
|
45151
|
+
/* @conditional-compile-remove(media-access) */
|
45152
|
+
forbidOthersVideo() {
|
45153
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45154
|
+
return this.callAdapter.forbidOthersVideo();
|
45155
|
+
});
|
45156
|
+
}
|
45157
|
+
/* @conditional-compile-remove(media-access) */
|
45158
|
+
permitOthersVideo() {
|
45159
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
45160
|
+
return this.callAdapter.permitOthersVideo();
|
45161
|
+
});
|
45162
|
+
}
|
44479
45163
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
44480
45164
|
on(event, listener) {
|
44481
45165
|
switch (event) {
|
@@ -45670,4 +46354,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
45670
46354
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
45671
46355
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
45672
46356
|
exports.useTheme = useTheme;
|
45673
|
-
//# sourceMappingURL=index-
|
46357
|
+
//# sourceMappingURL=index-C8ch4y0S.js.map
|