@azure/communication-react 1.4.3-alpha-202301060015.0 → 1.4.3-alpha-202301080014.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +59 -9
- package/dist/dist-cjs/communication-react/index.js +57 -65
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/identifier.js +3 -47
- package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +4 -2
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +44 -8
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +27 -10
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +18 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
- package/package.json +9 -9
@@ -26,6 +26,7 @@ import { CallClientOptions } from '@azure/communication-calling';
|
|
26
26
|
import { CallDirection } from '@azure/communication-calling';
|
27
27
|
import { CallEndReason } from '@azure/communication-calling';
|
28
28
|
import { CallerInfo } from '@azure/communication-calling';
|
29
|
+
import { CallKind } from '@azure/communication-calling';
|
29
30
|
import { CallState as CallState_2 } from '@azure/communication-calling';
|
30
31
|
import { ChatClient } from '@azure/communication-chat';
|
31
32
|
import { ChatClientOptions } from '@azure/communication-chat';
|
@@ -1237,6 +1238,10 @@ export declare type CallCompositeOptions = {
|
|
1237
1238
|
* if this is not supplied, the composite will not show a unsupported browser page.
|
1238
1239
|
*/
|
1239
1240
|
onEnvironmentInfoTroubleshootingClick?: () => void;
|
1241
|
+
/**
|
1242
|
+
* Remote participant video tile menu options
|
1243
|
+
*/
|
1244
|
+
remoteVideoTileMenu?: RemoteVideoTileMenuOptions;
|
1240
1245
|
};
|
1241
1246
|
|
1242
1247
|
/**
|
@@ -1887,7 +1892,7 @@ export declare interface CallState {
|
|
1887
1892
|
/**
|
1888
1893
|
* Type of the call.
|
1889
1894
|
*/
|
1890
|
-
|
1895
|
+
kind: CallKind;
|
1891
1896
|
/**
|
1892
1897
|
* Proxy of {@link @azure/communication-calling#Call.callerInfo}.
|
1893
1898
|
*/
|
@@ -7041,6 +7046,20 @@ export declare interface RemoteVideoStreamState {
|
|
7041
7046
|
view?: VideoStreamRendererViewState;
|
7042
7047
|
}
|
7043
7048
|
|
7049
|
+
/**
|
7050
|
+
* Menu options for remote video tiles in {@link VideoGallery}.
|
7051
|
+
*
|
7052
|
+
* @beta
|
7053
|
+
*/
|
7054
|
+
export declare interface RemoteVideoTileMenuOptions {
|
7055
|
+
/**
|
7056
|
+
* If set to true, remote video tiles in the VideoGallery will not have menu options
|
7057
|
+
*
|
7058
|
+
* @defaultValue false
|
7059
|
+
*/
|
7060
|
+
isHidden?: boolean;
|
7061
|
+
}
|
7062
|
+
|
7044
7063
|
/**
|
7045
7064
|
* @beta
|
7046
7065
|
* The role of a call participant.
|
@@ -8225,22 +8244,23 @@ export declare interface VideoGalleryProps {
|
|
8225
8244
|
*/
|
8226
8245
|
localVideoCameraCycleButtonProps?: LocalVideoCameraCycleButtonProps;
|
8227
8246
|
/**
|
8228
|
-
* List of pinned participant userIds
|
8247
|
+
* List of pinned participant userIds.
|
8229
8248
|
*/
|
8230
8249
|
pinnedParticipants?: string[];
|
8231
8250
|
/**
|
8232
|
-
*
|
8233
|
-
* @defaultValue `true`
|
8234
|
-
*/
|
8235
|
-
showRemoteVideoTileContextualMenu?: boolean;
|
8236
|
-
/**
|
8237
|
-
* This callback will be called when a participant video tile is pinned
|
8251
|
+
* This callback will be called when a participant video tile is pinned.
|
8238
8252
|
*/
|
8239
8253
|
onPinParticipant?: (userId: string) => void;
|
8240
8254
|
/**
|
8241
|
-
* This callback will be called when a participant video tile is un-pinned
|
8255
|
+
* This callback will be called when a participant video tile is un-pinned.
|
8242
8256
|
*/
|
8243
8257
|
onUnpinParticipant?: (userId: string) => void;
|
8258
|
+
/**
|
8259
|
+
* Options for showing the remote video tile menu.
|
8260
|
+
*
|
8261
|
+
* @defaultValue \{ kind: 'contextual' \}
|
8262
|
+
*/
|
8263
|
+
remoteVideoTileMenuOptions?: false | VideoTileContextualMenuProps | VideoTileDrawerMenuProps;
|
8244
8264
|
}
|
8245
8265
|
|
8246
8266
|
/**
|
@@ -8377,6 +8397,36 @@ export declare interface VideoStreamRendererViewState {
|
|
8377
8397
|
*/
|
8378
8398
|
export declare const VideoTile: (props: VideoTileProps) => JSX.Element;
|
8379
8399
|
|
8400
|
+
/**
|
8401
|
+
* Properties for showing contextual menu for remote {@link VideoTile} components in {@link VideoGallery}.
|
8402
|
+
*
|
8403
|
+
* @beta
|
8404
|
+
*/
|
8405
|
+
export declare interface VideoTileContextualMenuProps {
|
8406
|
+
/**
|
8407
|
+
* The menu property kind
|
8408
|
+
*/
|
8409
|
+
kind: 'contextual';
|
8410
|
+
}
|
8411
|
+
|
8412
|
+
/**
|
8413
|
+
* Properties for showing drawer menu on remote {@link VideoTile} long touch in {@link VideoGallery}.
|
8414
|
+
*
|
8415
|
+
* @beta
|
8416
|
+
*/
|
8417
|
+
export declare interface VideoTileDrawerMenuProps {
|
8418
|
+
/**
|
8419
|
+
* The menu property kind
|
8420
|
+
*/
|
8421
|
+
kind: 'drawer';
|
8422
|
+
/**
|
8423
|
+
* The optional id property provided on an element that the drawer menu should render within when a
|
8424
|
+
* remote participant video tile Drawer is shown. If an id is not provided, then a drawer menu will
|
8425
|
+
* render within the VideoGallery component.
|
8426
|
+
*/
|
8427
|
+
hostId?: string;
|
8428
|
+
}
|
8429
|
+
|
8380
8430
|
/**
|
8381
8431
|
* Props for {@link VideoTile}.
|
8382
8432
|
*
|
@@ -123,12 +123,6 @@ const memoizeFnAll = (fnToMemoize, shouldCacheUpdate = Object.is) => {
|
|
123
123
|
};
|
124
124
|
|
125
125
|
// Copyright (c) Microsoft Corporation.
|
126
|
-
const COMMUNICATION_USER_PREFIX = '8:acs:';
|
127
|
-
const PHONE_NUMBER_PREFIX = '4:';
|
128
|
-
const TEAMS_DOD_PREFIX = '8:dod:';
|
129
|
-
const TEAMS_GCCH_PREFIX = '8:gcch:';
|
130
|
-
const TEAMS_USER_PREFIX = '8:orgid:';
|
131
|
-
const TEAMS_VISITOR_PREFIX = '8:teamsvisitor:';
|
132
126
|
/**
|
133
127
|
* A string representation of a {@link @azure/communication-common#CommunicationIdentifier}.
|
134
128
|
*
|
@@ -140,25 +134,7 @@ const TEAMS_VISITOR_PREFIX = '8:teamsvisitor:';
|
|
140
134
|
* @public
|
141
135
|
*/
|
142
136
|
const toFlatCommunicationIdentifier = (identifier) => {
|
143
|
-
|
144
|
-
return identifier.communicationUserId;
|
145
|
-
}
|
146
|
-
if (communicationCommon.isMicrosoftTeamsUserIdentifier(identifier)) {
|
147
|
-
if (identifier.isAnonymous) {
|
148
|
-
return TEAMS_VISITOR_PREFIX + identifier.microsoftTeamsUserId;
|
149
|
-
}
|
150
|
-
if (identifier.cloud === 'dod') {
|
151
|
-
return TEAMS_DOD_PREFIX + identifier.microsoftTeamsUserId;
|
152
|
-
}
|
153
|
-
if (identifier.cloud === 'gcch') {
|
154
|
-
return TEAMS_GCCH_PREFIX + identifier.microsoftTeamsUserId;
|
155
|
-
}
|
156
|
-
return TEAMS_USER_PREFIX + identifier.microsoftTeamsUserId;
|
157
|
-
}
|
158
|
-
if (communicationCommon.isPhoneNumberIdentifier(identifier)) {
|
159
|
-
return PHONE_NUMBER_PREFIX + identifier.phoneNumber;
|
160
|
-
}
|
161
|
-
return identifier.id;
|
137
|
+
return communicationCommon.getIdentifierRawId(identifier);
|
162
138
|
};
|
163
139
|
/**
|
164
140
|
* Reverse operation of {@link toFlatCommunicationIdentifier}.
|
@@ -166,27 +142,7 @@ const toFlatCommunicationIdentifier = (identifier) => {
|
|
166
142
|
* @public
|
167
143
|
*/
|
168
144
|
const fromFlatCommunicationIdentifier = (id) => {
|
169
|
-
|
170
|
-
// The prefix is preserved for this variant of the identifier.
|
171
|
-
return { communicationUserId: id };
|
172
|
-
}
|
173
|
-
if (id.startsWith(PHONE_NUMBER_PREFIX) || id.startsWith('+')) {
|
174
|
-
const isPhoneNumber = id.startsWith(PHONE_NUMBER_PREFIX) ? id.replace(PHONE_NUMBER_PREFIX, '') : id;
|
175
|
-
return { phoneNumber: isPhoneNumber };
|
176
|
-
}
|
177
|
-
if (id.startsWith(TEAMS_USER_PREFIX)) {
|
178
|
-
return { microsoftTeamsUserId: id.replace(TEAMS_USER_PREFIX, '') };
|
179
|
-
}
|
180
|
-
if (id.startsWith(TEAMS_DOD_PREFIX)) {
|
181
|
-
return { microsoftTeamsUserId: id.replace(TEAMS_DOD_PREFIX, ''), cloud: 'dod' };
|
182
|
-
}
|
183
|
-
if (id.startsWith(TEAMS_GCCH_PREFIX)) {
|
184
|
-
return { microsoftTeamsUserId: id.replace(TEAMS_GCCH_PREFIX, ''), cloud: 'gcch' };
|
185
|
-
}
|
186
|
-
if (id.startsWith(TEAMS_VISITOR_PREFIX)) {
|
187
|
-
return { microsoftTeamsUserId: id.replace(TEAMS_VISITOR_PREFIX, ''), isAnonymous: true };
|
188
|
-
}
|
189
|
-
return { id };
|
145
|
+
return communicationCommon.createIdentifierFromRawId(id);
|
190
146
|
};
|
191
147
|
/**
|
192
148
|
* Returns a CommunicationIdentifier.
|
@@ -202,7 +158,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
202
158
|
// Copyright (c) Microsoft Corporation.
|
203
159
|
// Licensed under the MIT license.
|
204
160
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
205
|
-
var telemetryVersion = '1.4.3-alpha-
|
161
|
+
var telemetryVersion = '1.4.3-alpha-202301080014.0';
|
206
162
|
|
207
163
|
// Copyright (c) Microsoft Corporation.
|
208
164
|
/**
|
@@ -1886,7 +1842,7 @@ function convertSdkCallToDeclarativeCall(call) {
|
|
1886
1842
|
return {
|
1887
1843
|
id: call.id,
|
1888
1844
|
/* @conditional-compile-remove(teams-identity-support) */
|
1889
|
-
|
1845
|
+
kind: _isACSCall(call) ? 'Call' : 'TeamsCall',
|
1890
1846
|
callerInfo: call.callerInfo,
|
1891
1847
|
state: call.state,
|
1892
1848
|
callEndReason: call.callEndReason,
|
@@ -7609,13 +7565,15 @@ const ParticipantItem = (props) => {
|
|
7609
7565
|
const localeStrings = useLocale$1().strings.participantItem;
|
7610
7566
|
const ids = useIdentifiers();
|
7611
7567
|
const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
|
7568
|
+
// For 'me' show empty name so avatar will get 'Person' icon, when there is no name
|
7569
|
+
const meAvatarText = (displayName === null || displayName === void 0 ? void 0 : displayName.trim()) || '';
|
7612
7570
|
const avatarOptions = {
|
7613
|
-
text: (displayName === null || displayName === void 0 ? void 0 : displayName.trim()) || strings.displayNamePlaceholder,
|
7571
|
+
text: me ? meAvatarText : (displayName === null || displayName === void 0 ? void 0 : displayName.trim()) || strings.displayNamePlaceholder,
|
7614
7572
|
size: react.PersonaSize.size32,
|
7615
7573
|
presence: presence,
|
7616
7574
|
initialsTextColor: 'white',
|
7617
7575
|
showOverflowTooltip: showParticipantOverflowTooltip,
|
7618
|
-
showUnknownPersonaCoin: !(displayName === null || displayName === void 0 ? void 0 : displayName.trim()) || displayName === strings.displayNamePlaceholder
|
7576
|
+
showUnknownPersonaCoin: !me && (!(displayName === null || displayName === void 0 ? void 0 : displayName.trim()) || displayName === strings.displayNamePlaceholder)
|
7619
7577
|
};
|
7620
7578
|
const avatar = onRenderAvatar ? (onRenderAvatar(userId !== null && userId !== void 0 ? userId : '', avatarOptions)) : (React__default['default'].createElement(react.Persona, Object.assign({ className: react.mergeStyles({
|
7621
7579
|
// Prevents persona text from being vertically truncated if a global line height is less than 1.15.
|
@@ -8519,7 +8477,7 @@ const VideoTile = (props) => {
|
|
8519
8477
|
]);
|
8520
8478
|
const placeholderOptions = {
|
8521
8479
|
userId,
|
8522
|
-
text: initialsName
|
8480
|
+
text: initialsName !== null && initialsName !== void 0 ? initialsName : displayName,
|
8523
8481
|
noVideoAvailableAriaLabel,
|
8524
8482
|
coinSize: personaSize,
|
8525
8483
|
styles: defaultPersonaStyles,
|
@@ -10241,6 +10199,13 @@ const PinnedParticipantsLayout = (props) => {
|
|
10241
10199
|
* Currently the Calling JS SDK supports up to 4 remote video streams
|
10242
10200
|
*/
|
10243
10201
|
const DEFAULT_MAX_REMOTE_VIDEO_STREAMS = 4;
|
10202
|
+
/**
|
10203
|
+
* @private
|
10204
|
+
* Default remote video tile menu options
|
10205
|
+
*/
|
10206
|
+
const DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS = {
|
10207
|
+
kind: 'contextual'
|
10208
|
+
};
|
10244
10209
|
/**
|
10245
10210
|
* VideoGallery represents a layout of video tiles for a specific call.
|
10246
10211
|
* It displays a {@link VideoTile} for the local user as well as for each remote participant who has joined the call.
|
@@ -10253,14 +10218,19 @@ const VideoGallery = (props) => {
|
|
10253
10218
|
/* @conditional-compile-remove(pinned-participants) */
|
10254
10219
|
onPinParticipant: onPinParticipantHandler,
|
10255
10220
|
/* @conditional-compile-remove(pinned-participants) */
|
10256
|
-
onUnpinParticipant: onUnpinParticipantHandler
|
10221
|
+
onUnpinParticipant: onUnpinParticipantHandler,
|
10222
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10223
|
+
remoteVideoTileMenuOptions = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS } = props;
|
10257
10224
|
const ids = useIdentifiers();
|
10258
10225
|
const theme = useTheme();
|
10259
10226
|
const localeStrings = useLocale$1().strings.videoGallery;
|
10260
10227
|
const strings = React.useMemo(() => (Object.assign(Object.assign({}, localeStrings), props.strings)), [localeStrings, props.strings]);
|
10261
|
-
|
10262
|
-
|
10263
|
-
|
10228
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10229
|
+
const drawerMenuHostIdFromProp = remoteVideoTileMenuOptions && remoteVideoTileMenuOptions.kind === 'drawer'
|
10230
|
+
? remoteVideoTileMenuOptions.hostId
|
10231
|
+
: undefined;
|
10232
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10233
|
+
const drawerMenuHostId = reactHooks.useId('drawerMenuHost', drawerMenuHostIdFromProp);
|
10264
10234
|
const shouldFloatLocalVideo = !!(layout === 'floatingLocalVideo' && remoteParticipants.length > 0);
|
10265
10235
|
const containerRef = React.useRef(null);
|
10266
10236
|
const containerWidth = _useContainerWidth(containerRef);
|
@@ -10288,7 +10258,7 @@ const VideoGallery = (props) => {
|
|
10288
10258
|
const localVideoTileStyles = react.concatStyleSets(shouldFloatLocalVideo ? floatingLocalVideoTileStyle : {}, {
|
10289
10259
|
root: { borderRadius: theme.effects.roundedCorner4 }
|
10290
10260
|
}, styles === null || styles === void 0 ? void 0 : styles.localVideo);
|
10291
|
-
const initialsName = !localParticipant.displayName ?
|
10261
|
+
const initialsName = !localParticipant.displayName ? '' : localParticipant.displayName;
|
10292
10262
|
return (React__default['default'].createElement(react.Stack, { key: "local-video-tile-key", tabIndex: 0, "aria-label": strings.localVideoMovementLabel, role: 'dialog' },
|
10293
10263
|
React__default['default'].createElement(_LocalVideoTile, { 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: isNarrow ? '' : strings.localVideoLabel, initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: !(shouldFloatLocalVideo && isNarrow), showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles })));
|
10294
10264
|
}, [
|
@@ -10307,7 +10277,6 @@ const VideoGallery = (props) => {
|
|
10307
10277
|
strings.localVideoLabel,
|
10308
10278
|
strings.localVideoMovementLabel,
|
10309
10279
|
strings.localVideoSelectedDescription,
|
10310
|
-
strings.displayNamePlaceholder,
|
10311
10280
|
styles === null || styles === void 0 ? void 0 : styles.localVideo,
|
10312
10281
|
theme.effects.roundedCorner4,
|
10313
10282
|
/* @conditional-compile-remove(rooms) */ permissions.cameraButton
|
@@ -10332,7 +10301,9 @@ const VideoGallery = (props) => {
|
|
10332
10301
|
/* @conditional-compile-remove(PSTN-calls) */
|
10333
10302
|
participantState: participant.state,
|
10334
10303
|
/* @conditional-compile-remove(pinned-participants) */
|
10335
|
-
showRemoteVideoTileContextualMenu:
|
10304
|
+
showRemoteVideoTileContextualMenu: remoteVideoTileMenuOptions && remoteVideoTileMenuOptions.kind === 'contextual',
|
10305
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10306
|
+
drawerMenuHostId: drawerMenuHostId,
|
10336
10307
|
/* @conditional-compile-remove(pinned-participants) */
|
10337
10308
|
onPinParticipant: onPinParticipant,
|
10338
10309
|
/* @conditional-compile-remove(pinned-participants) */
|
@@ -10346,8 +10317,8 @@ const VideoGallery = (props) => {
|
|
10346
10317
|
onRenderAvatar,
|
10347
10318
|
showMuteIndicator,
|
10348
10319
|
strings,
|
10349
|
-
drawerMenuHostId,
|
10350
|
-
/* @conditional-compile-remove(pinned-participants) */
|
10320
|
+
/* @conditional-compile-remove(pinned-participants) */ drawerMenuHostId,
|
10321
|
+
/* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions,
|
10351
10322
|
/* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
|
10352
10323
|
/* @conditional-compile-remove(pinned-participants) */ onPinParticipant,
|
10353
10324
|
/* @conditional-compile-remove(pinned-participants) */ onUnpinParticipant
|
@@ -10398,7 +10369,10 @@ const VideoGallery = (props) => {
|
|
10398
10369
|
}
|
10399
10370
|
return React__default['default'].createElement(DefaultLayout, Object.assign({}, layoutProps));
|
10400
10371
|
}, [layout, layoutProps]);
|
10401
|
-
return (React__default['default'].createElement("div", {
|
10372
|
+
return (React__default['default'].createElement("div", {
|
10373
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10374
|
+
// We don't assign an drawer menu host id to the VideoGallery when a drawerMenuHostId is assigned from props
|
10375
|
+
id: drawerMenuHostIdFromProp ? undefined : drawerMenuHostId, "data-ui-id": ids.videoGallery, ref: containerRef, className: react.mergeStyles(videoGalleryOuterDivStyle, styles === null || styles === void 0 ? void 0 : styles.root) }, videoGalleryLayout));
|
10402
10376
|
};
|
10403
10377
|
|
10404
10378
|
// Copyright (c) Microsoft Corporation.
|
@@ -18589,7 +18563,7 @@ const createAnnouncmentString = (direction, participants, strings) => {
|
|
18589
18563
|
* Filter participants into two arrays to put all the unnamed participants at the back of the
|
18590
18564
|
* names being announced.
|
18591
18565
|
*/
|
18592
|
-
const unnamedParticipants = participants.filter((p) => p.displayName
|
18566
|
+
const unnamedParticipants = participants.filter((p) => !p.displayName);
|
18593
18567
|
const namedParicipants = participants.filter((p) => p.displayName);
|
18594
18568
|
const sortedParticipants = namedParicipants.concat(unnamedParticipants);
|
18595
18569
|
/**
|
@@ -18652,6 +18626,7 @@ const remoteVideoViewOptions = {
|
|
18652
18626
|
* @private
|
18653
18627
|
*/
|
18654
18628
|
const MediaGallery = (props) => {
|
18629
|
+
var _a;
|
18655
18630
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
18656
18631
|
const cameraSwitcherCameras = useSelector$1(localVideoCameraCycleButtonSelector);
|
18657
18632
|
const cameraSwitcherCallback = useHandlers();
|
@@ -18665,11 +18640,26 @@ const MediaGallery = (props) => {
|
|
18665
18640
|
React__default['default'].createElement(AvatarPersona, Object.assign({ userId: userId }, options, { dataProvider: props.onFetchAvatarPersonaData })))));
|
18666
18641
|
}, [props.onFetchAvatarPersonaData]);
|
18667
18642
|
useLocalVideoStartTrigger(!!props.isVideoStreamOn);
|
18643
|
+
/* @conditional-compile-remove(pinned-participants) */
|
18644
|
+
const remoteVideoTileMenuOptions = React.useMemo(() => {
|
18645
|
+
var _a;
|
18646
|
+
return ((_a = props.remoteVideoTileMenuOptions) === null || _a === void 0 ? void 0 : _a.isHidden)
|
18647
|
+
? false
|
18648
|
+
: props.isMobile
|
18649
|
+
? { kind: 'drawer', hostId: props.drawerMenuHostId }
|
18650
|
+
: { kind: 'contextual' };
|
18651
|
+
}, [(_a = props.remoteVideoTileMenuOptions) === null || _a === void 0 ? void 0 : _a.isHidden, props.isMobile, props.drawerMenuHostId]);
|
18668
18652
|
const VideoGalleryMemoized = React.useMemo(() => {
|
18669
18653
|
return (React__default['default'].createElement(VideoGallery, Object.assign({}, videoGalleryProps, { localVideoViewOptions: localVideoViewOptions$2, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: "floatingLocalVideo", showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar,
|
18670
18654
|
/* @conditional-compile-remove(pinned-participants) */
|
18671
|
-
|
18672
|
-
}, [
|
18655
|
+
remoteVideoTileMenuOptions: remoteVideoTileMenuOptions })));
|
18656
|
+
}, [
|
18657
|
+
videoGalleryProps,
|
18658
|
+
props.isMobile,
|
18659
|
+
onRenderAvatar,
|
18660
|
+
cameraSwitcherProps,
|
18661
|
+
/* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions
|
18662
|
+
]);
|
18673
18663
|
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
18674
18664
|
React__default['default'].createElement(Announcer, { announcementString: announcerString, ariaLive: 'polite' }),
|
18675
18665
|
VideoGalleryMemoized));
|
@@ -18900,7 +18890,9 @@ const CallPage = (props) => {
|
|
18900
18890
|
/* @conditional-compile-remove(one-to-n-calling) */
|
18901
18891
|
onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView,
|
18902
18892
|
/* @conditional-compile-remove(one-to-n-calling) */
|
18903
|
-
modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (React__default['default'].createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData,
|
18893
|
+
modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (React__default['default'].createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData,
|
18894
|
+
/* @conditional-compile-remove(pinned-participants) */
|
18895
|
+
remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenu, drawerMenuHostId: drawerMenuHostId }))) : (React__default['default'].createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React__default['default'].createElement(React__default['default'].Fragment, null)), dataUiId: 'call-page' }));
|
18904
18896
|
};
|
18905
18897
|
/**
|
18906
18898
|
* @private
|