@azure/communication-react 1.5.1-alpha-202303260014 → 1.5.1-alpha-202303290014
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 +63 -3
- package/dist/dist-cjs/communication-react/index.js +209 -81
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +6 -27
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.js +5 -4
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +14 -14
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +19 -19
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +9 -9
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +4 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +20 -20
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/CaptionsBanner.style.d.ts +13 -0
- package/dist/dist-esm/react-components/src/components/styles/CaptionsBanner.style.js +35 -0
- package/dist/dist-esm/react-components/src/components/styles/CaptionsBanner.style.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +30 -2
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +27 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +42 -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 +1 -1
- 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/MediaGallery.js +3 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +5 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.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/ConfigurationPage.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +24 -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 +19 -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 +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +18 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/package.json +10 -10
@@ -162,7 +162,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
162
162
|
// Copyright (c) Microsoft Corporation.
|
163
163
|
// Licensed under the MIT license.
|
164
164
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
165
|
-
var telemetryVersion = '1.5.1-alpha-
|
165
|
+
var telemetryVersion = '1.5.1-alpha-202303290014';
|
166
166
|
|
167
167
|
// Copyright (c) Microsoft Corporation.
|
168
168
|
/**
|
@@ -6128,7 +6128,7 @@ const FailedMyChatMessageContainer = Object.assign(Object.assign({}, defaultChat
|
|
6128
6128
|
/**
|
6129
6129
|
* @private
|
6130
6130
|
*/
|
6131
|
-
const defaultChatMessageContainer = {
|
6131
|
+
const defaultChatMessageContainer = (theme) => ({
|
6132
6132
|
maxWidth: '100%',
|
6133
6133
|
minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,
|
6134
6134
|
marginRight: '0rem',
|
@@ -6141,9 +6141,37 @@ const defaultChatMessageContainer = {
|
|
6141
6141
|
// For more info see https://github.com/Azure/communication-ui-library/pull/1507
|
6142
6142
|
marginBlock: '0.125rem'
|
6143
6143
|
},
|
6144
|
+
'& blockquote': {
|
6145
|
+
backgroundColor: theme.palette.white,
|
6146
|
+
clear: 'left',
|
6147
|
+
minHeight: '2.25rem',
|
6148
|
+
width: 'fit-content',
|
6149
|
+
margin: '7px 0px',
|
6150
|
+
padding: '7px 15px',
|
6151
|
+
border: 'solid',
|
6152
|
+
borderRadius: '4px',
|
6153
|
+
borderWidth: '1px',
|
6154
|
+
borderColor: theme.palette.neutralQuaternary,
|
6155
|
+
borderLeftWidth: '4px'
|
6156
|
+
},
|
6157
|
+
'& table': {
|
6158
|
+
backgroundColor: theme.palette.white,
|
6159
|
+
border: theme.palette.neutralQuaternary,
|
6160
|
+
borderCollapse: 'collapse',
|
6161
|
+
tableLayout: 'auto',
|
6162
|
+
width: '100%',
|
6163
|
+
'& tr': {
|
6164
|
+
border: `1px solid ${theme.palette.neutralQuaternary}`,
|
6165
|
+
'& td': {
|
6166
|
+
border: `1px solid ${theme.palette.neutralQuaternary}`,
|
6167
|
+
wordBreak: 'normal',
|
6168
|
+
padding: '0px 5px'
|
6169
|
+
}
|
6170
|
+
}
|
6171
|
+
},
|
6144
6172
|
// This makes message bubble show border in high contrast mode making each message distinguishable
|
6145
6173
|
border: '1px solid transparent'
|
6146
|
-
};
|
6174
|
+
});
|
6147
6175
|
/**
|
6148
6176
|
* @private
|
6149
6177
|
*/
|
@@ -7178,7 +7206,7 @@ const DefaultSystemMessage = (props) => {
|
|
7178
7206
|
}
|
7179
7207
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
7180
7208
|
};
|
7181
|
-
const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, shouldOverlapAvatarAndMessage, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, _attached, statusToRender, participantCount, readCount, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, disableEditing) => {
|
7209
|
+
const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, shouldOverlapAvatarAndMessage, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, theme, _attached, statusToRender, participantCount, readCount, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, disableEditing) => {
|
7182
7210
|
var _a, _b, _c, _d, _e, _f, _g;
|
7183
7211
|
const messageProps = {
|
7184
7212
|
message,
|
@@ -7194,7 +7222,7 @@ const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate,
|
|
7194
7222
|
const myChatMessageStyle = message.status === 'failed'
|
7195
7223
|
? (_b = (_a = styles === null || styles === void 0 ? void 0 : styles.failedMyChatMessageContainer) !== null && _a !== void 0 ? _a : styles === null || styles === void 0 ? void 0 : styles.myChatMessageContainer) !== null && _b !== void 0 ? _b : FailedMyChatMessageContainer
|
7196
7224
|
: (_c = styles === null || styles === void 0 ? void 0 : styles.myChatMessageContainer) !== null && _c !== void 0 ? _c : defaultMyChatMessageContainer;
|
7197
|
-
const chatMessageStyle = (_d = styles === null || styles === void 0 ? void 0 : styles.chatMessageContainer) !== null && _d !== void 0 ? _d : defaultChatMessageContainer;
|
7225
|
+
const chatMessageStyle = (_d = styles === null || styles === void 0 ? void 0 : styles.chatMessageContainer) !== null && _d !== void 0 ? _d : defaultChatMessageContainer(theme);
|
7198
7226
|
messageProps.messageContainerStyle = message.mine ? myChatMessageStyle : chatMessageStyle;
|
7199
7227
|
const chatMessageComponent = onRenderMessage === undefined
|
7200
7228
|
? defaultChatMessageRenderer(messageProps)
|
@@ -7521,6 +7549,7 @@ const MessageThread = (props) => {
|
|
7521
7549
|
// -1 because participant count does not include myself
|
7522
7550
|
remoteParticipantsCount: participantCount ? participantCount - 1 : 0 }));
|
7523
7551
|
}, []);
|
7552
|
+
const theme = useTheme();
|
7524
7553
|
const messagesToDisplay = React.useMemo(() => memoizeAllMessages((memoizedMessageFn) => {
|
7525
7554
|
return messages.map((message, index) => {
|
7526
7555
|
let key = message.messageId;
|
@@ -7549,7 +7578,7 @@ const MessageThread = (props) => {
|
|
7549
7578
|
statusToRender = 'failed';
|
7550
7579
|
}
|
7551
7580
|
}
|
7552
|
-
return memoizedMessageFn(key !== null && key !== void 0 ? key : 'id_' + index, message, showMessageDate, showMessageStatus, onRenderAvatar, isNarrow, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings,
|
7581
|
+
return memoizedMessageFn(key !== null && key !== void 0 ? key : 'id_' + index, message, showMessageDate, showMessageStatus, onRenderAvatar, isNarrow, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, theme,
|
7553
7582
|
// Temporary solution to make sure we re-render if attach attribute is changed.
|
7554
7583
|
// The proper fix should be in selector.
|
7555
7584
|
message.messageType === 'chat' ? message.attached : undefined, statusToRender, participantCount, readCountForHoveredIndicator, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, props.disableEditing);
|
@@ -7565,6 +7594,7 @@ const MessageThread = (props) => {
|
|
7565
7594
|
defaultStatusRenderer,
|
7566
7595
|
defaultChatMessageRenderer,
|
7567
7596
|
strings,
|
7597
|
+
theme,
|
7568
7598
|
participantCount,
|
7569
7599
|
readCountForHoveredIndicator,
|
7570
7600
|
onRenderMessage,
|
@@ -7576,7 +7606,6 @@ const MessageThread = (props) => {
|
|
7576
7606
|
lastDeliveredChatMessage,
|
7577
7607
|
props.disableEditing
|
7578
7608
|
]);
|
7579
|
-
const theme = useTheme();
|
7580
7609
|
const chatBody = React.useMemo(() => {
|
7581
7610
|
var _a;
|
7582
7611
|
return (React__default['default'].createElement(reactAriaLive.LiveAnnouncer, null,
|
@@ -9254,11 +9283,11 @@ const participantsById = (participants) => {
|
|
9254
9283
|
|
9255
9284
|
// Copyright (c) Microsoft Corporation.
|
9256
9285
|
const DEFAULT_MAX_REMOTE_VIDEOSTREAMS = 4;
|
9257
|
-
const
|
9286
|
+
const DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS = 6;
|
9258
9287
|
const _useOrganizedParticipants = (props) => {
|
9259
9288
|
const visibleGridParticipants = React.useRef([]);
|
9260
|
-
const
|
9261
|
-
const { remoteParticipants = [], dominantSpeakers = [], maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEOSTREAMS,
|
9289
|
+
const visibleOverflowGalleryParticipants = React.useRef([]);
|
9290
|
+
const { remoteParticipants = [], dominantSpeakers = [], maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEOSTREAMS, maxOverflowGalleryDominantSpeakers = DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS, isScreenShareActive = false, pinnedParticipantUserIds = [] } = props;
|
9262
9291
|
const videoParticipants = remoteParticipants.filter((p) => { var _a; return (_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
|
9263
9292
|
visibleGridParticipants.current =
|
9264
9293
|
pinnedParticipantUserIds.length > 0 || isScreenShareActive
|
@@ -9275,12 +9304,12 @@ const _useOrganizedParticipants = (props) => {
|
|
9275
9304
|
const callingParticipants = remoteParticipantsOrdered.filter((p) => p.state === ('Connecting' ));
|
9276
9305
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
9277
9306
|
const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId));
|
9278
|
-
|
9307
|
+
visibleOverflowGalleryParticipants.current = smartDominantSpeakerParticipants({
|
9279
9308
|
participants: remoteParticipantsOrdered.filter((p) => !visibleGridParticipantsSet.has(p.userId) &&
|
9280
9309
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !callingParticipantsSet.has(p.userId)),
|
9281
9310
|
dominantSpeakers: dominantSpeakers,
|
9282
|
-
lastVisibleParticipants:
|
9283
|
-
maxDominantSpeakers:
|
9311
|
+
lastVisibleParticipants: visibleOverflowGalleryParticipants.current,
|
9312
|
+
maxDominantSpeakers: maxOverflowGalleryDominantSpeakers
|
9284
9313
|
});
|
9285
9314
|
const getGridParticipants = React.useCallback(() => {
|
9286
9315
|
if (isScreenShareActive) {
|
@@ -9289,32 +9318,32 @@ const _useOrganizedParticipants = (props) => {
|
|
9289
9318
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
9290
9319
|
return visibleGridParticipants.current.length > 0
|
9291
9320
|
? visibleGridParticipants.current
|
9292
|
-
:
|
9321
|
+
: visibleOverflowGalleryParticipants.current.concat(callingParticipants);
|
9293
9322
|
}, [
|
9294
9323
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,
|
9295
9324
|
isScreenShareActive
|
9296
9325
|
]);
|
9297
9326
|
const gridParticipants = getGridParticipants();
|
9298
|
-
const
|
9327
|
+
const getOverflowGalleryRemoteParticipants = React.useCallback(() => {
|
9299
9328
|
if (isScreenShareActive) {
|
9300
|
-
// If screen sharing is active, assign video and audio participants as
|
9329
|
+
// If screen sharing is active, assign video and audio participants as overflow gallery participants
|
9301
9330
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
9302
|
-
return visibleGridParticipants.current.concat(
|
9331
|
+
return visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current.concat(callingParticipants));
|
9303
9332
|
}
|
9304
9333
|
else {
|
9305
9334
|
// If screen sharing is not active, then assign all video tiles as grid tiles.
|
9306
9335
|
// If there are no video tiles, then assign audio tiles as grid tiles.
|
9307
9336
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
9308
9337
|
return visibleGridParticipants.current.length > 0
|
9309
|
-
?
|
9338
|
+
? visibleOverflowGalleryParticipants.current.concat(callingParticipants)
|
9310
9339
|
: [];
|
9311
9340
|
}
|
9312
9341
|
}, [
|
9313
9342
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,
|
9314
9343
|
isScreenShareActive
|
9315
9344
|
]);
|
9316
|
-
const
|
9317
|
-
return { gridParticipants,
|
9345
|
+
const overflowGalleryParticipants = getOverflowGalleryRemoteParticipants();
|
9346
|
+
return { gridParticipants, overflowGalleryParticipants: overflowGalleryParticipants };
|
9318
9347
|
};
|
9319
9348
|
/* @conditional-compile-remove(pinned-participants) */
|
9320
9349
|
const _useOrganizedParticipantsWithPinnedParticipants = (props) => {
|
@@ -9344,9 +9373,9 @@ const _useOrganizedParticipantsWithPinnedParticipants = (props) => {
|
|
9344
9373
|
}
|
9345
9374
|
return {
|
9346
9375
|
gridParticipants: props.isScreenShareActive ? [] : pinnedParticipants,
|
9347
|
-
|
9348
|
-
? pinnedParticipants.concat(useOrganizedParticipantsResult.
|
9349
|
-
: useOrganizedParticipantsResult.gridParticipants.concat(useOrganizedParticipantsResult.
|
9376
|
+
overflowGalleryParticipants: props.isScreenShareActive
|
9377
|
+
? pinnedParticipants.concat(useOrganizedParticipantsResult.overflowGalleryParticipants)
|
9378
|
+
: useOrganizedParticipantsResult.gridParticipants.concat(useOrganizedParticipantsResult.overflowGalleryParticipants)
|
9350
9379
|
};
|
9351
9380
|
};
|
9352
9381
|
const putVideoParticipantsFirst = (remoteParticipants) => {
|
@@ -9365,7 +9394,7 @@ const putVideoParticipantsFirst = (remoteParticipants) => {
|
|
9365
9394
|
return remoteParticipantSortedByVideo;
|
9366
9395
|
};
|
9367
9396
|
/**
|
9368
|
-
* Hook to determine which participants should be in grid and
|
9397
|
+
* Hook to determine which participants should be in grid and overflow gallery and their order respectively
|
9369
9398
|
* @private
|
9370
9399
|
*/
|
9371
9400
|
const useOrganizedParticipants = (args) => {
|
@@ -10080,11 +10109,11 @@ const OverflowGallery = (props) => {
|
|
10080
10109
|
const { shouldFloatLocalVideo = false, onFetchTilesToRender, isNarrow = false,
|
10081
10110
|
/* @conditional-compile-remove(vertical-gallery) */
|
10082
10111
|
isShort = false, overflowGalleryElements, horizontalGalleryStyles,
|
10083
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10084
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10112
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition = 'HorizontalBottom',
|
10113
|
+
/* @conditional-compile-remove(vertical-gallery) */ verticalGalleryStyles, onChildrenPerPageChange } = props;
|
10085
10114
|
const containerStyles = React.useMemo(() => {
|
10086
10115
|
/* @conditional-compile-remove(vertical-gallery) */
|
10087
|
-
if (
|
10116
|
+
if (overflowGalleryPosition === 'VerticalRight') {
|
10088
10117
|
return verticalGalleryContainerStyle(shouldFloatLocalVideo, isNarrow, isShort);
|
10089
10118
|
}
|
10090
10119
|
return horizontalGalleryContainerStyle(shouldFloatLocalVideo, isNarrow);
|
@@ -10092,23 +10121,23 @@ const OverflowGallery = (props) => {
|
|
10092
10121
|
shouldFloatLocalVideo,
|
10093
10122
|
/* @conditional-compile-remove(vertical-gallery) */ isShort,
|
10094
10123
|
isNarrow,
|
10095
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10124
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition
|
10096
10125
|
]);
|
10097
10126
|
const galleryStyles = React.useMemo(() => {
|
10098
10127
|
/* @conditional-compile-remove(vertical-gallery) */
|
10099
|
-
if (
|
10100
|
-
return react.concatStyleSets(verticalGalleryStyle(isShort),
|
10128
|
+
if (overflowGalleryPosition === 'VerticalRight') {
|
10129
|
+
return react.concatStyleSets(verticalGalleryStyle(isShort), verticalGalleryStyles);
|
10101
10130
|
}
|
10102
10131
|
return react.concatStyleSets(horizontalGalleryStyle(isNarrow), horizontalGalleryStyles);
|
10103
10132
|
}, [
|
10104
10133
|
isNarrow,
|
10105
10134
|
/* @conditional-compile-remove(vertical-gallery) */ isShort,
|
10106
10135
|
horizontalGalleryStyles,
|
10107
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10108
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10136
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
|
10137
|
+
/* @conditional-compile-remove(vertical-gallery) */ verticalGalleryStyles
|
10109
10138
|
]);
|
10110
10139
|
/* @conditional-compile-remove(vertical-gallery) */
|
10111
|
-
if (
|
10140
|
+
if (overflowGalleryPosition === 'VerticalRight') {
|
10112
10141
|
return (React__default['default'].createElement(ResponsiveVerticalGallery, { key: "responsive-vertical-gallery", containerStyles: containerStyles, verticalGalleryStyles: galleryStyles, controlBarHeightRem: HORIZONTAL_GALLERY_BUTTON_WIDTH, gapHeightRem: HORIZONTAL_GALLERY_GAP, isShort: isShort, onFetchTilesToRender: onFetchTilesToRender, onChildrenPerPageChange: onChildrenPerPageChange }, overflowGalleryElements));
|
10113
10142
|
}
|
10114
10143
|
/* @conditional-compile-remove(pinned-participants) */
|
@@ -10124,7 +10153,7 @@ const OverflowGallery = (props) => {
|
|
10124
10153
|
// Copyright (c) Microsoft Corporation.
|
10125
10154
|
/**
|
10126
10155
|
* DefaultLayout displays remote participants, local video component, and screen sharing component in
|
10127
|
-
* a grid
|
10156
|
+
* a grid an overflow gallery.
|
10128
10157
|
*
|
10129
10158
|
* @private
|
10130
10159
|
*/
|
@@ -10132,19 +10161,19 @@ const DefaultLayout = (props) => {
|
|
10132
10161
|
const { remoteParticipants = [], dominantSpeakers, localVideoComponent, screenShareComponent, onRenderRemoteParticipant, styles, maxRemoteVideoStreams, parentWidth,
|
10133
10162
|
/* @conditional-compile-remove(vertical-gallery) */
|
10134
10163
|
parentHeight, pinnedParticipantUserIds = [],
|
10135
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10164
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition = 'HorizontalBottom' } = props;
|
10136
10165
|
const isNarrow = parentWidth ? isNarrowWidth(parentWidth) : false;
|
10137
10166
|
/* @conditional-compile-remove(vertical-gallery) */
|
10138
10167
|
const isShort = parentHeight ? isShortHeight(parentHeight) : false;
|
10139
|
-
// This is for tracking the number of children in the first page of
|
10140
|
-
// This number will be used for the
|
10168
|
+
// This is for tracking the number of children in the first page of overflow gallery.
|
10169
|
+
// This number will be used for the maxOverflowGalleryDominantSpeakers when organizing the remote participants.
|
10141
10170
|
const childrenPerPage = React.useRef(4);
|
10142
|
-
const { gridParticipants,
|
10171
|
+
const { gridParticipants, overflowGalleryParticipants } = useOrganizedParticipants({
|
10143
10172
|
remoteParticipants,
|
10144
10173
|
dominantSpeakers,
|
10145
10174
|
maxRemoteVideoStreams,
|
10146
10175
|
isScreenShareActive: !!screenShareComponent,
|
10147
|
-
|
10176
|
+
maxOverflowGalleryDominantSpeakers: screenShareComponent
|
10148
10177
|
? childrenPerPage.current - (pinnedParticipantUserIds.length % childrenPerPage.current)
|
10149
10178
|
: childrenPerPage.current,
|
10150
10179
|
/* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds
|
@@ -10166,7 +10195,7 @@ const DefaultLayout = (props) => {
|
|
10166
10195
|
const [indexesToRender, setIndexesToRender] = React.useState([
|
10167
10196
|
...Array(maxRemoteVideoStreams - activeVideoStreams).keys()
|
10168
10197
|
]);
|
10169
|
-
const
|
10198
|
+
const overflowGalleryTiles = overflowGalleryParticipants.map((p, i) => {
|
10170
10199
|
var _a, _b;
|
10171
10200
|
return onRenderRemoteParticipant(p, maxRemoteVideoStreams && maxRemoteVideoStreams >= 0
|
10172
10201
|
? ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && indexesToRender.includes(i) && activeVideoStreams++ < maxRemoteVideoStreams
|
@@ -10176,32 +10205,32 @@ const DefaultLayout = (props) => {
|
|
10176
10205
|
gridTiles.push(localVideoComponent);
|
10177
10206
|
}
|
10178
10207
|
const overflowGallery = React.useMemo(() => {
|
10179
|
-
if (
|
10208
|
+
if (overflowGalleryTiles.length === 0) {
|
10180
10209
|
return null;
|
10181
10210
|
}
|
10182
10211
|
return (React__default['default'].createElement(OverflowGallery, { isNarrow: isNarrow,
|
10183
10212
|
/* @conditional-compile-remove(vertical-gallery) */
|
10184
|
-
isShort: isShort, shouldFloatLocalVideo: false, overflowGalleryElements:
|
10213
|
+
isShort: isShort, shouldFloatLocalVideo: false, overflowGalleryElements: overflowGalleryTiles, horizontalGalleryStyles: styles === null || styles === void 0 ? void 0 : styles.horizontalGallery,
|
10185
10214
|
/* @conditional-compile-remove(vertical-gallery) */
|
10186
|
-
|
10215
|
+
verticalGalleryStyles: styles === null || styles === void 0 ? void 0 : styles.verticalGallery,
|
10187
10216
|
/* @conditional-compile-remove(pinned-participants) */
|
10188
|
-
|
10217
|
+
overflowGalleryPosition: overflowGalleryPosition, onFetchTilesToRender: setIndexesToRender, onChildrenPerPageChange: (n) => {
|
10189
10218
|
childrenPerPage.current = n;
|
10190
10219
|
} }));
|
10191
10220
|
}, [
|
10192
10221
|
isNarrow,
|
10193
10222
|
/* @conditional-compile-remove(vertical-gallery) */ isShort,
|
10194
|
-
|
10223
|
+
overflowGalleryTiles,
|
10195
10224
|
styles === null || styles === void 0 ? void 0 : styles.horizontalGallery,
|
10225
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
|
10196
10226
|
setIndexesToRender,
|
10197
|
-
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryLayout,
|
10198
10227
|
/* @conditional-compile-remove(vertical-gallery) */ styles === null || styles === void 0 ? void 0 : styles.verticalGallery
|
10199
10228
|
]);
|
10200
10229
|
return (React__default['default'].createElement(react.Stack
|
10201
10230
|
/* @conditional-compile-remove(vertical-gallery) */
|
10202
10231
|
, {
|
10203
10232
|
/* @conditional-compile-remove(vertical-gallery) */
|
10204
|
-
horizontal:
|
10233
|
+
horizontal: overflowGalleryPosition === 'VerticalRight', styles: rootLayoutStyle$1, tokens: videoGalleryLayoutGap },
|
10205
10234
|
screenShareComponent ? (screenShareComponent) : (React__default['default'].createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
|
10206
10235
|
overflowGallery));
|
10207
10236
|
};
|
@@ -10945,26 +10974,26 @@ const layerHostStyle = {
|
|
10945
10974
|
// Copyright (c) Microsoft Corporation.
|
10946
10975
|
/**
|
10947
10976
|
* FloatingLocalVideoLayout displays remote participants and a screen sharing component in
|
10948
|
-
* a grid and
|
10977
|
+
* a grid and overflow gallery while floating the local video
|
10949
10978
|
*
|
10950
10979
|
* @private
|
10951
10980
|
*/
|
10952
10981
|
const FloatingLocalVideoLayout = (props) => {
|
10953
|
-
const { remoteParticipants = [], dominantSpeakers, localVideoComponent, screenShareComponent, onRenderRemoteParticipant, styles, maxRemoteVideoStreams, showCameraSwitcherInLocalPreview, parentWidth, parentHeight,
|
10954
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
10982
|
+
const { remoteParticipants = [], dominantSpeakers, localVideoComponent, screenShareComponent, onRenderRemoteParticipant, styles, maxRemoteVideoStreams, showCameraSwitcherInLocalPreview, parentWidth, parentHeight,
|
10983
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition = 'HorizontalBottom', pinnedParticipantUserIds = [] } = props;
|
10955
10984
|
const theme = useTheme();
|
10956
10985
|
const isNarrow = parentWidth ? isNarrowWidth(parentWidth) : false;
|
10957
10986
|
/* @conditional-compile-remove(vertical-gallery) */
|
10958
10987
|
const isShort = parentHeight ? isShortHeight(parentHeight) : false;
|
10959
|
-
// This is for tracking the number of children in the first page of
|
10960
|
-
// This number will be used for the
|
10988
|
+
// This is for tracking the number of children in the first page of overflow gallery.
|
10989
|
+
// This number will be used for the maxOverflowGalleryDominantSpeakers when organizing the remote participants.
|
10961
10990
|
const childrenPerPage = React.useRef(4);
|
10962
|
-
const { gridParticipants,
|
10991
|
+
const { gridParticipants, overflowGalleryParticipants } = useOrganizedParticipants({
|
10963
10992
|
remoteParticipants,
|
10964
10993
|
dominantSpeakers,
|
10965
10994
|
maxRemoteVideoStreams,
|
10966
10995
|
isScreenShareActive: !!screenShareComponent,
|
10967
|
-
|
10996
|
+
maxOverflowGalleryDominantSpeakers: screenShareComponent
|
10968
10997
|
? childrenPerPage.current - (pinnedParticipantUserIds.length % childrenPerPage.current)
|
10969
10998
|
: childrenPerPage.current,
|
10970
10999
|
/* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds
|
@@ -10990,7 +11019,7 @@ const FloatingLocalVideoLayout = (props) => {
|
|
10990
11019
|
const [indexesToRender, setIndexesToRender] = React.useState([
|
10991
11020
|
...Array(maxRemoteVideoStreams - activeVideoStreams).keys()
|
10992
11021
|
]);
|
10993
|
-
const
|
11022
|
+
const overflowGalleryTiles = overflowGalleryParticipants.map((p, i) => {
|
10994
11023
|
var _a, _b;
|
10995
11024
|
return onRenderRemoteParticipant(p, maxRemoteVideoStreams && maxRemoteVideoStreams >= 0
|
10996
11025
|
? ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && indexesToRender.includes(i) && activeVideoStreams++ < maxRemoteVideoStreams
|
@@ -11002,7 +11031,7 @@ const FloatingLocalVideoLayout = (props) => {
|
|
11002
11031
|
return SMALL_FLOATING_MODAL_SIZE_REM;
|
11003
11032
|
}
|
11004
11033
|
/* @conditional-compile-remove(vertical-gallery) */
|
11005
|
-
if ((
|
11034
|
+
if ((overflowGalleryTiles.length > 0 || !!screenShareComponent) && overflowGalleryPosition === 'VerticalRight') {
|
11006
11035
|
return isNarrow
|
11007
11036
|
? SMALL_FLOATING_MODAL_SIZE_REM
|
11008
11037
|
: isShort
|
@@ -11011,10 +11040,10 @@ const FloatingLocalVideoLayout = (props) => {
|
|
11011
11040
|
}
|
11012
11041
|
return LARGE_FLOATING_MODAL_SIZE_REM;
|
11013
11042
|
}, [
|
11014
|
-
|
11043
|
+
overflowGalleryTiles.length,
|
11015
11044
|
isNarrow,
|
11016
11045
|
/* @conditional-compile-remove(vertical-gallery) */ isShort,
|
11017
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
11046
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
|
11018
11047
|
/* @conditional-compile-remove(vertical-gallery) */ screenShareComponent
|
11019
11048
|
]);
|
11020
11049
|
const wrappedLocalVideoComponent = localVideoComponent && shouldFloatLocalVideo ? (
|
@@ -11022,30 +11051,30 @@ const FloatingLocalVideoLayout = (props) => {
|
|
11022
11051
|
showCameraSwitcherInLocalPreview ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileWithControlsContainerStyle(theme, localVideoSizeRem), {
|
11023
11052
|
boxShadow: theme.effects.elevation8,
|
11024
11053
|
zIndex: LOCAL_VIDEO_TILE_ZINDEX
|
11025
|
-
}) }, localVideoComponent)) :
|
11054
|
+
}) }, localVideoComponent)) : overflowGalleryTiles.length > 0 || !!screenShareComponent ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileContainerStyle(theme, localVideoSizeRem)) }, localVideoComponent)) : (React__default['default'].createElement(FloatingLocalVideo, { localVideoComponent: localVideoComponent, layerHostId: layerHostId, localVideoSizeRem: localVideoSizeRem, parentWidth: parentWidth, parentHeight: parentHeight }))) : undefined;
|
11026
11055
|
const overflowGallery = React.useMemo(() => {
|
11027
|
-
if (
|
11056
|
+
if (overflowGalleryTiles.length === 0 && !screenShareComponent) {
|
11028
11057
|
return null;
|
11029
11058
|
}
|
11030
11059
|
return (React__default['default'].createElement(OverflowGallery
|
11031
11060
|
/* @conditional-compile-remove(vertical-gallery) */
|
11032
11061
|
, {
|
11033
11062
|
/* @conditional-compile-remove(vertical-gallery) */
|
11034
|
-
isShort: isShort, onFetchTilesToRender: setIndexesToRender, isNarrow: isNarrow, shouldFloatLocalVideo: true, overflowGalleryElements:
|
11063
|
+
isShort: isShort, onFetchTilesToRender: setIndexesToRender, isNarrow: isNarrow, shouldFloatLocalVideo: true, overflowGalleryElements: overflowGalleryTiles, horizontalGalleryStyles: styles === null || styles === void 0 ? void 0 : styles.horizontalGallery,
|
11035
11064
|
/* @conditional-compile-remove(vertical-gallery) */
|
11036
|
-
|
11065
|
+
verticalGalleryStyles: styles === null || styles === void 0 ? void 0 : styles.verticalGallery,
|
11037
11066
|
/* @conditional-compile-remove(vertical-gallery) */
|
11038
|
-
|
11067
|
+
overflowGalleryPosition: overflowGalleryPosition, onChildrenPerPageChange: (n) => {
|
11039
11068
|
childrenPerPage.current = n;
|
11040
11069
|
} }));
|
11041
11070
|
}, [
|
11042
11071
|
isNarrow,
|
11043
11072
|
/* @conditional-compile-remove(vertical-gallery) */ isShort,
|
11044
|
-
|
11073
|
+
overflowGalleryTiles,
|
11045
11074
|
styles === null || styles === void 0 ? void 0 : styles.horizontalGallery,
|
11075
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
|
11046
11076
|
setIndexesToRender,
|
11047
11077
|
screenShareComponent,
|
11048
|
-
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryLayout,
|
11049
11078
|
/* @conditional-compile-remove(vertical-gallery) */ styles === null || styles === void 0 ? void 0 : styles.verticalGallery
|
11050
11079
|
]);
|
11051
11080
|
return (React__default['default'].createElement(react.Stack, { styles: rootLayoutStyle },
|
@@ -11055,7 +11084,7 @@ const FloatingLocalVideoLayout = (props) => {
|
|
11055
11084
|
/* @conditional-compile-remove(vertical-gallery) */
|
11056
11085
|
, {
|
11057
11086
|
/* @conditional-compile-remove(vertical-gallery) */
|
11058
|
-
horizontal:
|
11087
|
+
horizontal: overflowGalleryPosition === 'VerticalRight', styles: innerLayoutStyle, tokens: videoGalleryLayoutGap },
|
11059
11088
|
screenShareComponent ? (screenShareComponent) : (React__default['default'].createElement(GridLayout, { key: "grid-layout", styles: styles === null || styles === void 0 ? void 0 : styles.gridLayout }, gridTiles)),
|
11060
11089
|
overflowGallery)));
|
11061
11090
|
};
|
@@ -11106,7 +11135,7 @@ const VideoGallery = (props) => {
|
|
11106
11135
|
/* @conditional-compile-remove(pinned-participants) */
|
11107
11136
|
remoteVideoTileMenuOptions = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS,
|
11108
11137
|
/* @conditional-compile-remove(vertical-gallery) */
|
11109
|
-
|
11138
|
+
overflowGalleryPosition = 'HorizontalBottom' } = props;
|
11110
11139
|
const ids = useIdentifiers();
|
11111
11140
|
const theme = useTheme();
|
11112
11141
|
const localeStrings = useLocale$1().strings.videoGallery;
|
@@ -11268,7 +11297,7 @@ const VideoGallery = (props) => {
|
|
11268
11297
|
parentWidth: containerWidth,
|
11269
11298
|
parentHeight: containerHeight,
|
11270
11299
|
/* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds: pinnedParticipants,
|
11271
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
11300
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition
|
11272
11301
|
}), [
|
11273
11302
|
remoteParticipants,
|
11274
11303
|
screenShareComponent,
|
@@ -11282,7 +11311,7 @@ const VideoGallery = (props) => {
|
|
11282
11311
|
onRenderRemoteVideoTile,
|
11283
11312
|
defaultOnRenderVideoTile,
|
11284
11313
|
/* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
|
11285
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
11314
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition
|
11286
11315
|
]);
|
11287
11316
|
const videoGalleryLayout = React.useMemo(() => {
|
11288
11317
|
if (layout === 'floatingLocalVideo') {
|
@@ -13251,6 +13280,38 @@ const _DevicePermissionDropdown = (props) => {
|
|
13251
13280
|
}, options: options !== null && options !== void 0 ? options : [], styles: styles }));
|
13252
13281
|
};
|
13253
13282
|
|
13283
|
+
// Copyright (c) Microsoft Corporation.
|
13284
|
+
/**
|
13285
|
+
* @private
|
13286
|
+
*/
|
13287
|
+
react.mergeStyles({
|
13288
|
+
overflowY: 'scroll',
|
13289
|
+
overflowX: 'hidden',
|
13290
|
+
width: '100%',
|
13291
|
+
height: _pxToRem(60),
|
13292
|
+
display: 'grid',
|
13293
|
+
gridTemplateColumns: 'auto 1fr',
|
13294
|
+
alignItems: 'stretch',
|
13295
|
+
columnGap: _pxToRem(16),
|
13296
|
+
padding: _pxToRem(8)
|
13297
|
+
});
|
13298
|
+
/**
|
13299
|
+
* @private
|
13300
|
+
*/
|
13301
|
+
react.mergeStyles({
|
13302
|
+
fontWeight: 600,
|
13303
|
+
fontSize: _pxToRem(12),
|
13304
|
+
lineHeight: _pxToRem(30)
|
13305
|
+
});
|
13306
|
+
/**
|
13307
|
+
* @private
|
13308
|
+
*/
|
13309
|
+
react.mergeStyles({
|
13310
|
+
fontWeight: 400,
|
13311
|
+
fontSize: _pxToRem(16),
|
13312
|
+
lineHeight: _pxToRem(30)
|
13313
|
+
});
|
13314
|
+
|
13254
13315
|
// Copyright (c) Microsoft Corporation.
|
13255
13316
|
// Licensed under the MIT license.
|
13256
13317
|
/**
|
@@ -17839,15 +17900,15 @@ const createCompositeHandlers = memoizeOne__default['default']((adapter) => ({
|
|
17839
17900
|
}),
|
17840
17901
|
/* @conditional-compile-remove(video-background-effects) */
|
17841
17902
|
onRemoveVideoBackgroundEffects: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
17842
|
-
|
17903
|
+
return yield adapter.stopVideoBackgroundEffect();
|
17843
17904
|
}),
|
17844
17905
|
/* @conditional-compile-remove(video-background-effects) */
|
17845
|
-
onBlurVideoBackground: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
17846
|
-
|
17906
|
+
onBlurVideoBackground: (bgBlurConfig) => __awaiter$b(void 0, void 0, void 0, function* () {
|
17907
|
+
return yield adapter.blurVideoBackground(bgBlurConfig);
|
17847
17908
|
}),
|
17848
17909
|
/* @conditional-compile-remove(video-background-effects) */
|
17849
|
-
onReplaceVideoBackground: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
17850
|
-
|
17910
|
+
onReplaceVideoBackground: (bgReplacementConfig) => __awaiter$b(void 0, void 0, void 0, function* () {
|
17911
|
+
return yield adapter.replaceVideoBackground(bgReplacementConfig);
|
17851
17912
|
})
|
17852
17913
|
}));
|
17853
17914
|
|
@@ -19552,7 +19613,7 @@ const CallArrangement = (props) => {
|
|
19552
19613
|
const isMobileWithActivePane = props.mobileView && activePane;
|
19553
19614
|
/* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */
|
19554
19615
|
const callCompositeContainerCSS = React.useMemo(() => {
|
19555
|
-
return { display: isMobileWithActivePane ? 'none' : 'flex', width: '100%', height: '100%' };
|
19616
|
+
return { display: isMobileWithActivePane ? 'none' : 'flex', minWidth: 0, width: '100%', height: '100%' };
|
19556
19617
|
}, [isMobileWithActivePane]);
|
19557
19618
|
// To be removed once feature is out of beta, replace with callCompositeContainerCSS
|
19558
19619
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
@@ -19817,7 +19878,7 @@ const MediaGallery = (props) => {
|
|
19817
19878
|
: { kind: 'contextual' };
|
19818
19879
|
}, [(_a = props.remoteVideoTileMenuOptions) === null || _a === void 0 ? void 0 : _a.isHidden, props.isMobile, props.drawerMenuHostId]);
|
19819
19880
|
/* @conditional-compile-remove(vertical-gallery) */
|
19820
|
-
const
|
19881
|
+
const overflowGalleryPosition = React.useMemo(() => containerWidth && containerHeight && containerWidth / containerHeight >= 16 / 9
|
19821
19882
|
? 'VerticalRight'
|
19822
19883
|
: 'HorizontalBottom', [containerWidth, containerHeight]);
|
19823
19884
|
const VideoGalleryMemoized = React.useMemo(() => {
|
@@ -19825,14 +19886,14 @@ const MediaGallery = (props) => {
|
|
19825
19886
|
/* @conditional-compile-remove(pinned-participants) */
|
19826
19887
|
remoteVideoTileMenuOptions: remoteVideoTileMenuOptions,
|
19827
19888
|
/* @conditional-compile-remove(vertical-gallery) */
|
19828
|
-
|
19889
|
+
overflowGalleryPosition: overflowGalleryPosition })));
|
19829
19890
|
}, [
|
19830
19891
|
videoGalleryProps,
|
19831
19892
|
props.isMobile,
|
19832
19893
|
onRenderAvatar,
|
19833
19894
|
cameraSwitcherProps,
|
19834
19895
|
/* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions,
|
19835
|
-
/* @conditional-compile-remove(vertical-gallery) */
|
19896
|
+
/* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition
|
19836
19897
|
]);
|
19837
19898
|
return (React__default['default'].createElement("div", { ref: containerRef, style: mediaGalleryContainerStyles },
|
19838
19899
|
React__default['default'].createElement(Announcer, { announcementString: announcerString, ariaLive: 'polite' }),
|
@@ -20822,7 +20883,7 @@ const ConfigurationPage = (props) => {
|
|
20822
20883
|
}
|
20823
20884
|
}
|
20824
20885
|
const locale = useLocale();
|
20825
|
-
const title = (React__default['default'].createElement(react.Stack.Item, { className: mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop }, locale.strings.call.configurationPageTitle));
|
20886
|
+
const title = (React__default['default'].createElement(react.Stack.Item, { className: mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop, role: "heading", "aria-level": 1 }, locale.strings.call.configurationPageTitle));
|
20826
20887
|
const callDescription = locale.strings.call.configurationPageCallDetails && (React__default['default'].createElement(react.Stack.Item, { className: mobileView ? callDetailsStyleMobile : callDetailsStyleDesktop }, locale.strings.call.configurationPageCallDetails));
|
20827
20888
|
let mobileWithPreview = mobileView;
|
20828
20889
|
/* @conditional-compile-remove(rooms) */
|
@@ -21658,6 +21719,7 @@ class CallContext {
|
|
21658
21719
|
/* @conditional-compile-remove(unsupported-browser) */ environmentInfo: clientState.environmentInfo,
|
21659
21720
|
/* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserVersionsAllowed: false,
|
21660
21721
|
/* @conditional-compile-remove(rooms) */ roleHint: options === null || options === void 0 ? void 0 : options.roleHint,
|
21722
|
+
/* @conditional-compile-remove(video-background-effects) */ videoBackgroundImages: options === null || options === void 0 ? void 0 : options.videoBackgroundImages,
|
21661
21723
|
cameraStatus: undefined
|
21662
21724
|
};
|
21663
21725
|
this.emitter.setMaxListeners((_b = options === null || options === void 0 ? void 0 : options.maxListeners) !== null && _b !== void 0 ? _b : 50);
|
@@ -21841,6 +21903,12 @@ class AzureCommunicationCallAdapter {
|
|
21841
21903
|
this.sendDtmfTone.bind(this);
|
21842
21904
|
/* @conditional-compile-remove(unsupported-browser) */
|
21843
21905
|
this.allowUnsupportedBrowserVersion.bind(this);
|
21906
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21907
|
+
this.blurVideoBackground.bind(this);
|
21908
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21909
|
+
this.replaceVideoBackground.bind(this);
|
21910
|
+
/* @conditional-compile-remove(video-background-effects) */
|
21911
|
+
this.stopVideoBackgroundEffect.bind(this);
|
21844
21912
|
}
|
21845
21913
|
dispose() {
|
21846
21914
|
this.resetDiagnosticsForwarder();
|
@@ -22049,6 +22117,24 @@ class AzureCommunicationCallAdapter {
|
|
22049
22117
|
this.context.setAllowedUnsupportedBrowser();
|
22050
22118
|
this.context.updateClientState(this.callClient.getState());
|
22051
22119
|
}
|
22120
|
+
/* @conditional-compile-remove(video-background-effects) */
|
22121
|
+
blurVideoBackground(bgBlurConfig) {
|
22122
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
22123
|
+
yield this.handlers.onBlurVideoBackground(bgBlurConfig);
|
22124
|
+
});
|
22125
|
+
}
|
22126
|
+
/* @conditional-compile-remove(video-background-effects) */
|
22127
|
+
replaceVideoBackground(bgReplacementConfig) {
|
22128
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
22129
|
+
yield this.handlers.onReplaceVideoBackground(bgReplacementConfig);
|
22130
|
+
});
|
22131
|
+
}
|
22132
|
+
/* @conditional-compile-remove(video-background-effects) */
|
22133
|
+
stopVideoBackgroundEffect() {
|
22134
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
22135
|
+
yield this.handlers.onRemoveVideoBackgroundEffects();
|
22136
|
+
});
|
22137
|
+
}
|
22052
22138
|
startCall(participants, options) {
|
22053
22139
|
var _a, _b;
|
22054
22140
|
if (_isInCall((_b = (_a = this.getState().call) === null || _a === void 0 ? void 0 : _a.state) !== null && _b !== void 0 ? _b : 'None')) {
|
@@ -22160,10 +22246,10 @@ class AzureCommunicationCallAdapter {
|
|
22160
22246
|
}
|
22161
22247
|
onRemoteParticipantsUpdated({ added, removed }) {
|
22162
22248
|
if (added && added.length > 0) {
|
22163
|
-
this.emitter.emit('participantsJoined', added);
|
22249
|
+
this.emitter.emit('participantsJoined', { joined: added });
|
22164
22250
|
}
|
22165
22251
|
if (removed && removed.length > 0) {
|
22166
|
-
this.emitter.emit('participantsLeft', removed);
|
22252
|
+
this.emitter.emit('participantsLeft', { removed: removed });
|
22167
22253
|
}
|
22168
22254
|
added.forEach((participant) => {
|
22169
22255
|
this.participantSubscribers.set(toFlatCommunicationIdentifier(participant.identifier), new ParticipantSubscriber(participant, this.emitter));
|
@@ -23148,6 +23234,24 @@ class CallWithChatBackedCallAdapter {
|
|
23148
23234
|
allowUnsupportedBrowserVersion() {
|
23149
23235
|
return this.callWithChatAdapter.allowUnsupportedBrowserVersion();
|
23150
23236
|
}
|
23237
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23238
|
+
blurVideoBackground(bgBlurConfig) {
|
23239
|
+
return __awaiter$3(this, void 0, void 0, function* () {
|
23240
|
+
yield this.callWithChatAdapter.blurVideoBackground(bgBlurConfig);
|
23241
|
+
});
|
23242
|
+
}
|
23243
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23244
|
+
replaceVideoBackground(bgReplacementConfig) {
|
23245
|
+
return __awaiter$3(this, void 0, void 0, function* () {
|
23246
|
+
yield this.callWithChatAdapter.replaceVideoBackground(bgReplacementConfig);
|
23247
|
+
});
|
23248
|
+
}
|
23249
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23250
|
+
stopVideoBackgroundEffect() {
|
23251
|
+
return __awaiter$3(this, void 0, void 0, function* () {
|
23252
|
+
yield this.callWithChatAdapter.stopVideoBackgroundEffect();
|
23253
|
+
});
|
23254
|
+
}
|
23151
23255
|
}
|
23152
23256
|
function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
|
23153
23257
|
return {
|
@@ -23971,6 +24075,12 @@ class AzureCommunicationCallWithChatAdapter {
|
|
23971
24075
|
this.sendDtmfTone.bind(this);
|
23972
24076
|
/* @conditional-compile-remove(unsupported-browser) */
|
23973
24077
|
this.allowUnsupportedBrowserVersion.bind(this);
|
24078
|
+
/* @conditional-compile-remove(video-background-effects) */
|
24079
|
+
this.blurVideoBackground.bind(this);
|
24080
|
+
/* @conditional-compile-remove(video-background-effects) */
|
24081
|
+
this.replaceVideoBackground.bind(this);
|
24082
|
+
/* @conditional-compile-remove(video-background-effects) */
|
24083
|
+
this.stopVideoBackgroundEffect.bind(this);
|
23974
24084
|
}
|
23975
24085
|
/** Join existing Call. */
|
23976
24086
|
joinCall(microphoneOn) {
|
@@ -24187,6 +24297,24 @@ class AzureCommunicationCallWithChatAdapter {
|
|
24187
24297
|
allowUnsupportedBrowserVersion() {
|
24188
24298
|
return this.callAdapter.allowUnsupportedBrowserVersion();
|
24189
24299
|
}
|
24300
|
+
/* @conditional-compile-remove(video-background-effects) */
|
24301
|
+
blurVideoBackground(bgBlurConfig) {
|
24302
|
+
return __awaiter(this, void 0, void 0, function* () {
|
24303
|
+
yield this.callAdapter.blurVideoBackground(bgBlurConfig);
|
24304
|
+
});
|
24305
|
+
}
|
24306
|
+
/* @conditional-compile-remove(video-background-effects) */
|
24307
|
+
replaceVideoBackground(bgReplacementConfig) {
|
24308
|
+
return __awaiter(this, void 0, void 0, function* () {
|
24309
|
+
yield this.callAdapter.replaceVideoBackground(bgReplacementConfig);
|
24310
|
+
});
|
24311
|
+
}
|
24312
|
+
/* @conditional-compile-remove(video-background-effects) */
|
24313
|
+
stopVideoBackgroundEffect() {
|
24314
|
+
return __awaiter(this, void 0, void 0, function* () {
|
24315
|
+
return yield this.callAdapter.stopVideoBackgroundEffect();
|
24316
|
+
});
|
24317
|
+
}
|
24190
24318
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
24191
24319
|
on(event, listener) {
|
24192
24320
|
switch (event) {
|